遍历几个数据集

时间:2019-03-08 08:09:52

标签: r loops dataset

我的问题如下-我在文件夹中保存了100个数据集,这些数据集称为dat1.csv-dat100.csv。我想对它们每个进行回归。到目前为止,我已经使用以下循环来做到这一点:

cesta_data = gsub(pattern = "\\\\","/",readline())
\\srv332\nt332\data\R_Project\REGRESE\VSTUP

listova<-list.files(cesta_data)

for (i in 1:length(listova)){
  data<-read.csv2(paste(cesta_data,"/",listova[i],sep=""),header=TRUE)      
  formula1<-as.formula(anuita~KH)                                             
  regrese<-lm(formula = formula1, data = data)                             
  a<-regrese$coefficients                     
}

每个循环我上载csv文件,执行回归并保存结果(代码示例中未包括)。

有没有一种方法可以使用我可以遍历的R个数据集创建“对象”? 像这样:

cesta_data = gsub(pattern = "\\\\","/",readline())
\\srv332\nt332\data\R_Project\REGRESE\VSTUP

listova<-list.files(cesta_data)

for (i in 1:length(listova)){
  DATA[i]<-read.csv2(paste(cesta_data,"/",listova[i],sep=""),header=TRUE)      
  formula1<-as.formula(anuita~KH)                                             
  regrese<-lm(formula = formula1, data = DATA[i])                             
  a<-regrese$coefficients                     
}

非常感谢您提供任何建议。

编辑:我创建了下面的解决方案,它工作正常:

listDat<-list.files(cesta_data)  #all the files in the folder

 my_data_list<-list()             
 for (i in seq_along(listDat)){
     my_data_list[[i]] = read.csv2(paste(cesta_data,"/",listDat[i],sep=""), header = TRUE) 
  }    

 for (i in seq_along(listDat)){
      regrese<-lm(formula = anuita~KH, data = my_data_list[[i]])
      a<-regrese$coefficients
  }

0 个答案:

没有答案