Как я могу запустить модель lm в списке наборов данных? - PullRequest
1 голос
/ 06 мая 2020

У меня есть 9 разных наборов данных с одинаковыми переменными. Я добавил их все в список. Теперь я должен был применить модель lm ко всем наборам данных в списке с помощью циклов for. Мне трудно разделить данные для тестирования.

for(i in data_list){

  train = i[1: nrow(i)-444, ]
  test = i[593:616,]

  daily_lm <- lm(load ~ Daily, data = datatrain)
  test$forecastlm_d <- list(predict(daily_lag_lm, test)
}```

How do I train and predict data so that it is in accordance with each dataset?



1 Ответ

1 голос
/ 06 мая 2020

Мы могли бы l oop по последовательности list при инициации list для сохранения вывода прогнозов

preds <- vector('list', length(data_list))
for(i in seq_along(data_list)){
      tmpdat <- data_list[[i]]
      train <- tmpdat[1:(nrow(tmpdat)-444),]
      test <- tmpdat[593:616,]
      daily_lm <- lm(load ~ Daily, data = train)
      preds[[i]] <-   predict(daily_lm, test)



  }

Или другой вариант: lapply

preds <- lapply(data_list, function(dat) {
           train <- dat[1:(nrow(dat) - 444),]
           test <- dat[593:616,]
           daily_lm <- lm(load ~ Daily, data = train)
           predict(daily_lm, test)

         })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...