我需要一个简单的代码来创建一个循环,该循环转到几个子文件夹,并在每次迭代中读取文件。阅读后,我想使用我拥有的因子的名称来存储数据。该因子有19个级别,我想读取19个子文件夹的19个文件。现在,每次循环都会覆盖数据,因为读取的数据始终以相同的名称存储,并且不会循环遍历因子的名称。
我尝试过的代码:
# read data table for each region in the control period
for(l in 1:length(regions)){
name <- regions@data$name[l]
setwd(paste("filepath","/",name,sep=""))
data <- read.table(paste(name,".mit",sep=""),skip=1,header=TRUE)
data$Date <- paste(data$YYYY,"-",data$MM,"-",data$DD,sep="")
data$Date <- as.POSIXct(data$Date,format="%Y-%m-%d")
}
答案 0 :(得分:0)
在不知道您的数据等的情况下,您想要将不同文件的所有内容读入R中吗?然后,您需要为循环提供一些返回到工作区的内容。使用assign()
,您可以为每个单独的区域创建一个数据框,如下所示:
for(l in 1:length(regions)){
name <- regions@data$name[l]
setwd(paste("filepath","/",name,sep=""))
data <- read.table(paste(name,".mit",sep=""),skip=1,header=TRUE)
data$Date <- paste(data$YYYY,"-",data$MM,"-",data$DD,sep="")
data$Date <- as.POSIXct(data$Date,format="%Y-%m-%d")
df_name <- paste0("dataframe_",name)
assign(df_name ,data, envir=.GlobalEnv)
}