我的问题很简单,有很多“答案”与lapply给我的东西,我不是在寻找。它们没有用处,因为我得到一个列表,然后必须做另一个循环来获取数据框,并且遇到同样的问题:使用序列化名称一次创建多个数据框。这就是为什么我要问一个新问题。R导入excel,从列表创建几个数据帧使用循环
我有一个Excel文件5张不同的图表,我想创建5个不同的数据框。
library(openxlsx)
ln=list()
for (i in 2:6)
{
ln[[i]]<-read.xlsx("File.xlsx", sheet=i-1, startRow=3)
}
然后,我知道我可以做:
mo_1<-data.frame(ln[[2]])
,它看起来像它会给我正确的表文件。 但是,我需要为所有工作表执行此操作。我的尝试是:
for (i in 2:6){
mo_[i]<-data.frame(ln[[i]])
}
这就给我带来了和以前一样的问题。 P
所以我需要5个文件:mo2,...,mo6,我希望它们是DATAFRAMES(不是列表)。
谢谢。
只是为了补充为什么其他解决方案不起作用: - 他们似乎没有制作框架,他们似乎在不停地制作列表,看起来我必须手动进行转换。
另一种表述这个问题的方法是如何使用循环从列表创建数据帧。
提的是现有的答案,在那里没有解释为什么他们不帮忙,是没有用的。 –
更好,但如果不解释哪些解决方案无法解释哪些措施,则仍难以说明您所指的内容。 –
您的变量'ln'是数据框的列表,因此最容易以'ln [[]]'符号访问每个数据框。如果你真的想使用一系列新的变量名,那么使用'assign'函数。看到相关的帖子:https://stackoverflow.com/questions/24699989/r-dynamically-create-a-variable-name。我相信:'assign(paste0(“mo”,i),ln [[i]])是你正在寻找的东西。 – Dave2e