2016-03-08 153 views
0

我的數據:我有幾百個主題的縱向數據,程序以week.subjectID.csv的格式吐出數據文件。例如,1.100.csv是第100周的第1周的文件。根據列表將多個.csv文件導入到R中

我的問題:在最後使用該帖子時,我想出瞭如何讀取多個文件並將它們組合在一起(代碼如下)。

library(plyr) 
#Create list of all weekly files for subject ID 100 
files = list.files(pattern="*.100.csv") 
#List of data frames 
subject = lapply(files, read.delim) 
#Throw them altogether 
exporty = ldply(subject, data.frame) 
#Export new file 
write.csv(exporty, "100") 

但是,當我不得不爲所有主題重複該命令時,這個過程非常緩慢。是否有辦法創建我的主題列表,並且一次一個主題,讀取其文件,合併它們,導出其組合數據集,然後轉到下一個主題上?

資源:Importing multiple .csv files into R

+0

注意'pattern'參數'ls'是_not_通配符表達式,而是一個正則表達式。你想要的是'ls(pattern =「\\。100 \\。csv $」'。 –

回答

2

是你可以把你的所有代碼到另一個lapply()

library(plyr) 

subjects <- c("100", "200", "300") 
lapply(subjects, FUN=function(eachsubject){ 
    files = list.files(pattern=paste0("*.", eachsubject, ".csv")) 
    subject = lapply(files, read.delim) 
    exporty = ldply(subject, data.frame) 
    write.csv(exporty, eachsubject) 
    }) 
+0

非常感謝你!我認爲這會很樂觀,但不能把它放在一起......尤其是命名的文件。 – erebusgw

相關問題