我编写了以下函数来组合300个.csv文件.我的目录名是"specdata".我已经完成了以下执行步骤,
x <- function(directory) {
dir <- directory
data_dir <- paste(getwd(),dir,sep = "/")
files <- list.files(data_dir,pattern = '\\.csv')
tables <- lapply(paste(data_dir,files,sep = "/"), read.csv, header = TRUE)
pollutantmean <- do.call(rbind , tables)
}
# Step 2: call the function
x("specdata")
# Step 3: inspect results
head(pollutantmean)
Error in head(pollutantmean) : object 'pollutantmean' not found
Run Code Online (Sandbox Code Playgroud)
我的错是什么?有人可以解释一下吗?
我希望用来从单个文件夹中R读取多个csv文件.如果我想阅读csv我可以使用的每个文件:
list.files(folder, pattern="*.csv")
Run Code Online (Sandbox Code Playgroud)
例如,请参阅以下问题:
但是,我只希望一次读取文件的四个子集中的一个.下面是三个模型的四个文件的示例分组.
JS.N_Nov6_2017_model220_N200.csv
JS.N_Nov6_2017_model221_N200.csv
JS.N_Nov6_2017_model222_N200.csv
my.IDs.alt_Nov6_2017_model220_N200.csv
my.IDs.alt_Nov6_2017_model221_N200.csv
my.IDs.alt_Nov6_2017_model222_N200.csv
parms_Nov6_2017_model220_N200.csv
parms_Nov6_2017_model221_N200.csv
parms_Nov6_2017_model222_N200.csv
supN_Nov6_2017_model220_N200.csv
supN_Nov6_2017_model221_N200.csv
supN_Nov6_2017_model222_N200.csv
Run Code Online (Sandbox Code Playgroud)
如果我只想阅读,例如,parms我尝试以下文件,这是行不通的:
list.files(folder, pattern="parm*.csv")
Run Code Online (Sandbox Code Playgroud)
我假设我可能需要用来regex阅读目前四组的特定组,但我不知道.
如何分别阅读四组中的每一组?
编辑
我不确定我是否能够从这个问题的答案中获得解决方案:
我可能不得不花费相当多的时间regex来应对这些问题的答案.下面提供的答案Mako212非常出色.