Комментарий @jay.sf помог мне найти функцию list.append
из пакета rlist
, которая работает, как и ожидалось.
Для примера моего вопроса:
i <- 0
my_model <- list()
while(i < 5) {
i <- i + 1
my_model <- list.append(my_model, i)
}
Или обратиться к хорошему примеру Чжицяна Вана:
i <- 0
my_model <- list()
while(i < 5) {
i <- i + 1
my_model <- list.append(my_model, lm(mpg ~ cyl, data = mtcars))
}
РЕДАКТИРОВАТЬ
Оба ответа очень многообещающие, но они не работают для меня, потому что на каждом шаге цикла while кадр данных являетсясоздан и, очевидно, этот подход не работает для фреймов данных. Смотрите здесь:
my_model <- list()
my_model[1] <- data.frame(matrix(rnorm(10*10), ncol= 10))
str(my_model)
List of 1
$ : num [1:10] -1.023 -0.548 -0.534 -1.444 2.471 ...
К счастью, list.append
работает здесь также, как и ожидалось:
i <- 0
my_model <- list(NA)
while(i < 5) {
i <- i + 1
my_model <- list.append(my_model, data.frame(matrix(rnorm(10*10), ncol= 10)))
}