加载并将多个文件命名为R

时间:2013-02-24 21:06:11

标签: r load

我有超过1000个数据集我想加载到R中并在加载时分别命名每个数据集。我发现要加载它们我可以使用命令:

temp = list.files(pattern="*.csv")

for (i in 1:length(temp)) assign(temp[i], read.csv(temp[i]))

但是如何在加载文件时为每个文件命名,以便稍后我可以轻松调用每个文件?

2 个答案:

答案 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)