2

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

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

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

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

4

2 回答 2

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]))
于 2013-02-24T21:15:50.510 回答
-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)
于 2013-02-24T22:19:30.310 回答