所以我有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")
基本上我正在寻找一种基于列表加载代码的方法,并相应地对其进行标记。这可能吗?
任何帮助将不胜感激!!!
答案 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.csv
,2.csv
等。但同样,需要使用反引号或引号来访问{{1 }}运算符,因为名称以数字开头。
答案 1 :(得分:1)
listwithdfs <- lapply(1:29, function(x) read.csv(paste0(x, ".csv")) )
names(listwithdfs) <- 1:29
最好只在工作区中有一个单独的对象。 现在您可以使用
进行索引listwithdfs[[13]]