基于列表将多个 .csv 文件导入 R
Importing multiple .csv files into R based on a list
我的数据:我有几百个受试者的纵向数据,程序以 week.subjectID.csv 的格式吐出数据文件。例如,1.100.csv 是主题 100 第 1 周的文件。
我的问题:最后使用 post,我想出了如何读取多个文件并将它们合并(代码如下)。
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
是的,您可以将所有代码放入另一个 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)
})
我的数据:我有几百个受试者的纵向数据,程序以 week.subjectID.csv 的格式吐出数据文件。例如,1.100.csv 是主题 100 第 1 周的文件。
我的问题:最后使用 post,我想出了如何读取多个文件并将它们合并(代码如下)。
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
是的,您可以将所有代码放入另一个 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)
})