虽然我不喜欢让新手使用循环,但这是你在这里的最佳选择。
filevar<-c("study_data_raw.csv","study_data_cleaned.csv")
fileData <- list()
for(fileNum in 1:length(fileVar))
{
fileData[[fileNum]] <- read.csv(file = paste0("C:/study_data/",filevar[fileNum]))
}
(请注意,apply 函数里面有循环,所以它们不会更快,而且它们不易读/难以调试。)
我建议使用这种方法,因为它允许您通过编号引用文件。如果您希望它们具有名称,请执行此操作
filevar<-c("study_data_raw.csv","study_data_cleaned.csv")
dfs<-c("study_data_raw","study_data_cleaned")
for(fileNum in 1:length(fileVar))
{
assign(dfs[fileNum],read.csv(file = paste0("C:/study_data/",filevar[fileNum])))
}
奖励分数:
对于任何R语言用户,我建议开始使用管道以进一步提高可读性。
library(magrittr)
library(dplyr)
filevar<-c("study_data_raw.csv","study_data_cleaned.csv")
dfs<-c("study_data_raw","study_data_cleaned")
for(fileNum in 1:length(fileVar))
{
paste0("C:/study_data/",filevar[fileNum]) %>%
readcsv() %>%
assign(dfs[fileNum])
}
lapply(filevar, function(x) read.csv(file.path("C:/study_data", x), header=TRUE, sep=""))
,在检查数据集后替换为header=TRUE, sep=''
。 - akrun