使用R中的列表导入.CSV

时间:2014-10-08 22:18:42

标签: r list csv

所以我有29个数据文件要加载到R.这些文件被称为" 1.csv"," 2.csv"一直到29.以下是描述我试图做的事情的代码:

file.number <- c(1:29)
"the value in file.number".data <- read.csv("the value in file.number"".csv")

基本上我正在寻找一种基于列表加载代码的方法,并相应地对其进行标记。这可能吗?

任何帮助将不胜感激!!!

2 个答案:

答案 0 :(得分:4)

这可能会起作用

dfList <- setNames(lapply(paste0(1:29, ".csv"), read.csv), paste0(1:29, ".data"))

现在您已经获得了29个数据框的命名列表。然后,您可以使用$运算符访问每个单独的数据框,例如dfList$"4.data"。请注意,由于您已选择以数字开头,因此您需要引号或反引号。您可以使用[[访问元素dfList[["4.data"]],或更改为paste0("data", 1:29)等不同名称,或任何不以数字开头的名称来避免这种情况。< / p>

另一种选择是Map

Map(read.csv, paste0(1:29, ".csv"))

这将自动将名称设置为正在读取的文件的名称,即1.csv2.csv等。但同样,需要使用反引号或引号来访问{{1 }}运算符,因为名称以数字开头。

答案 1 :(得分:1)

listwithdfs <- lapply(1:29, function(x) read.csv(paste0(x, ".csv"))  )
names(listwithdfs) <- 1:29

最好只在工作区中有一个单独的对象。 现在您可以使用

进行索引
listwithdfs[[13]]