Цикл по нескольким наборам данных - PullRequest
0 голосов
/ 08 марта 2019

Моя проблема заключается в следующем - у меня есть 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
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...