0

我想通过循环和列表来操作不同的 .csv 文件。工作正常,但是对于输出,我必须创建许多 .xlsx 文件,并且必须根据某个变量的值来命名文件。

我已经尝试使用 ifelse 条件对 write_xlsx 函数进行管道传输,例如:

for (i in 1:length(files)) {
files[[i]] %>% 
write_xlsx(files[[i]], paste(ifelse(x="test1", "/Reportings/test1.xlsx", 
ifelse(x="test2", "/Reportings/test2.xlsx", "test3")
}

我希望在文件夹 Reportings 中创建多个 .xlsx 文件。

4

1 回答 1

0

用您提供的信息准确回答并不容易,但这是一个似乎可以满足您要求的最小示例:

根据您的列表由矩阵组成, x 是一个变量,并且它始终具有相同的值。

df=data.frame(x=rep("test1",3),y=rep("test1",3))
df2=data.frame(x=rep("test2",3),y=rep("test2",3))

files=list(df,df2)
files[[1]]$x[1]

for(i in 1:length(files)){
write.xlsx(files[[i]],paste0("Reportings/",files[[i]]$x[1],".xlsx"))
}
于 2019-10-25T10:34:09.300 回答