我有超过1000个数据集我想加载到R中并在加载时分别命名每个数据集。我发现要加载它们我可以使用命令:
temp = list.files(pattern="*.csv")
for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))
但是如何在加载文件时为每个文件命名,以便稍后我可以轻松调用每个文件?
答案 0 :(得分:0)
您只需要一个data.frame名称列表,类似于您的文件名列表。
然后其他一切几乎都是一样的,除了你的assign
陈述中的一个小变化
temp = list.files(pattern="*.csv")
# just an example
dataNames <- paste0(c("dataSource_", 1:length(temp)))
# then everything else is almost the same
for (i in 1:length(temp))
assign(dataNames[i], read.csv(temp[i]))
答案 1 :(得分:-1)
最好将data.frame聚合在一个列表中。
使用sapply
循环,您将获得一个带有文件名的命名列表。
temp = list.files(pattern="*.csv")
named.list <- sapply(temp, read.csv)
修改强>
为避免数据框的列数相同,您需要设置simplify=FALSE
named.list <- sapply(temp, read.csv,simplify=FALSE)