Заполнение списка объектами lm

Я пытаюсь заполнить именованный список результатами OLS в R. Я пытался

li = list()
for (i in 1:10)
    li[["RunOne"]][i] = lm(y~x)

ВотRunOne это случайное имя, которое обозначает подходящее,y а такжеx некоторые предопределенные векторы. Это ломает и дает мне ошибку

Warning message:
In l[["RunOne"]][1] = lm(y ~ x) :
  number of items to replace is not a multiple of replacement length

Хотя я понимаю ошибку, но я нене знаю, как это исправить.

Ответы на вопрос(1)

Решение Вопроса

Есть два решения (в зависимости от того, что именно вы хотите сделать).

Создайте список и добавьтеlm Объект для каждого элемента:

li = list() 
for (i in 1:10) 
    li[[i]] = lm(y~x)

Есть список списков:

li[["RunOne"]] = list()
for (i in 1:10) 
    li[["RunOne"]][[i]] = lm(y~x)

Как правило, одинарные скобки[ ] используются для векторов и фреймов данных, двойные скобки используются для списков.

 ganesh reddy18 нояб. 2012 г., 22:14
Понял, ребята, спасибо.
 Ben Bolker18 нояб. 2012 г., 22:08
другими словами, критическая проблема заключается в индексации в двойных скобках[[]] а не отдельные скобки[]

Ваш ответ на вопрос