Объект не найден R

Я создал цикл для итерации через набор файлов и присваивания данных в файлах переменной

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 ответ

Во-первых, нет необходимости 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")))
</directory>

Обратите внимание, что coa теперь представляет собой список из 5 элементов, каждый из которых содержит содержимое одного из файлов.

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

licensed under cc by-sa 3.0 with attribution.