我有一堆csv文件,我想用R读取。当我使用下面的代码时,我只得到最后一个文件(在这种情况下为file.100.csv
),它将存储在名为i
的变量中
for (i in seq(10,100,10))
i = read.csv(file=paste("file.", i, ".csv",sep=""), header=T, sep=",", skip=0, check.names=TRUE)
我希望将每个文件存储在名为10, 20, 30 ... 100
的单独变量中。我也尝试将其存储在数组中:
for (i in seq(10,100,10))
file_csv[[i]] = read.csv(file=paste("file.", i, ".csv",sep=""), header=T, sep=",", skip=0, check.names=TRUE)
但它给了我以下错误:
Error in file_csv[[i]] = read.csv(file = paste("file.", i, ".csv", sep = ""), :
object 'file_csv' not found
无论如何,我不确定R数组是否可以包含不是按1而是按10递增的数字。我想为此目的,某种哈希表会更有用。
答案 0 :(得分:0)
这不起作用,因为您将read.csv的结果分配给i(而不是i的解释,例如在循环的第一轮中为1)。您需要的是assign
:
for (i in 1:10) {assign(paste0("variable", i), 5)}
分配变量名称 解释。运行上面的命令会将5分配给variable1 - variable10。在你的情况下,你需要
for (i in seq(10,100,10)) {
assign(i, read.csv(file=paste("file.", i, ".csv",sep=""), header=T, sep=",", skip=0, check.names=TRUE))
}