我有超过 1000 个数据集我想加载到 R 中,并在加载时分别命名每个数据集。我发现要加载它们,我可以使用以下命令:
temp = list.files(pattern="*.csv")
for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))
但是如何在加载每个文件时为其命名,以便以后可以轻松地调用每个文件?
您只需要一个 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]))
最好将您的 data.frame 聚合在一个列表中。使用sapply
循环你会得到一个带有文件名的命名列表。
temp = list.files(pattern="*.csv")
named.list <- sapply(temp, read.csv)
编辑
为避免数据框列数相同的情况,需要设置simplify=FALSE
named.list <- sapply(temp, read.csv,simplify=FALSE)