找不到对象R.

时间:2014-01-26 20:26:30

标签: r object

我创建了一个循环来迭代一组文件,并将文件中的数据分配给变量

for(i in 1:8){
  infile <-paste("coauthor", i,".csv",sep="")
  coa[i]<-read.csv(infile,header = TRUE, sep="\t")
}

然而我一直在犯错误

Error in read.table(file = file, header = header, sep = sep, quote = quote,  : 
  object 'infile' not found

且更频繁

Error in paste("coauthor", i, ".csv", sep = "") : object 'i' not found

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

首先,不需要for个循环。其次,如果你这样做,你需要预先定义coa。第三,您必须适当地setwd(...)read.csv(...)找不到文件。

setwd("<directory with coauther files...>")
# this just creates a bunch of files so we can read them back in...
df <- data.frame(x=1:3, y=4:6, z=7:9)
lapply(1:5, function(i)write.csv(df,paste0("coauthor",i,".csv")))

# this is the code that reads them in. This is all you need.
coa <- lapply(1:5, function(i)read.csv(paste0("coauthor",i,".csv")))

请注意,coa现在是一个包含5个元素的列表,每个元素都包含其中一个文件的内容。

coa[1]
# [[1]]
#   X x y z
# 1 1 1 4 7
# 2 2 2 5 8
# 3 3 3 6 9