2012-11-18 54 views
3

我想這是一個初學者的問題,但我沒有完全找到答案或想出我做錯了什麼。在多個文件上使用lapply和read.csv(在R中)

我試圖讀取使用存儲在一個單獨的目錄20個CSV文件:

setwd("./Data") 
filenames <- list.files() 
All <- lapply(filenames,function(i){ 
    i <- paste(".\\",i,sep="") 
    read.csv(i, header=TRUE, skip=4) 
}) 

而且我得到以下錯誤:

Error in file(file, "rt") : cannot open the connection 
In addition: Warning message: 
In file(file, "rt") : 
    cannot open file '.\filename.csv': No such file or directory 

其中,文件名代表的名字我的文件夾中的第一個文件。

在此先感謝!

+0

,其中目錄名上市? 如果所有的csv都在一個目錄中(只包含csv),可以嘗試刪除'i < - paste(「。\\」,i,sep =「」)'行。 – JohnRos

回答

9

儘量只取出:如果數據在不同的目錄i <- paste(".\\",i,sep="")

read.csv能很好地工作的list.files(full.names=TRUE)輸出

setwd("./Data") 
filenames <- list.files(full.names=TRUE) 
All <- lapply(filenames,function(i){ 
    read.csv(i, header=TRUE, skip=4) 
})