【发布时间】:2018-02-19 15:25:29
【问题描述】:
我在 R 中创建了数百个数据框,我想将它们导出到本地位置。所有数据帧的名称都存储在一个向量中:
name.vec<-c('df1','df2','df3','df4','df5','df5')
name.vec 中的每一个都是一个数据框。 我想要做的是将这些数据框导出为 excel 文件,但我不想这样做:
library("xlsx")
write.xlsx(df1,file ="df1.xlsx")
write.xlsx(df2,file ="df2.xlsx")
write.xlsx(df3,file ="df3.xlsx")
因为有数百个数据帧,这既乏味又危险。 我想要一些类似下面的东西:
library('xlsx')
for (k in name.vec) {
write.xlsx(k,file=paste0(k,'.xlsx'))
}
但这行不通。
有人知道如何实现吗?您的时间和知识将不胜感激。提前致谢。
【问题讨论】:
-
您在全球环境中存储了数百个数据帧?哎呀!
?get应该是一个可靠的提示来帮助你。 -
这太可怕了,但确实如此,我目前的工作需要在一个循环中运行数百个回归,我得到了 108 个循环,也期待改进我的代码。我会试试你的建议
-
将它们存储在一个列表中,然后您可以通过
purrr::walk获取for或lapply。 -
为什么你的 for 循环不起作用?错误信息是什么?
-
它将生成具有我想要的正确名称的“xlsx”文件,但文件中的内容不是从具有相同名称的数据框中传递的内容,而是只有一个单元格作为“df1”,用于说明清酒。就像@Runge 在回答开头所说的那样。
标签: r excel batch-processing r-xlsx