Как объединить объекты glm, сохраняя их класс ("glm", "lm") - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь оценить Нагелкерке R ^ 2 для некоторых моделей логистической регрессии.Поскольку у меня много моделей, я пытаюсь автоматизировать процесс с помощью for.Однако, когда я соединил модели glm в список, функция NagelkerkeR2() из пакета fmsb выдала мне ошибку.

##Calculate Nagelkerke's R Squared
x<- list(m01,m02,m03,m04,m05,m06,m07,m08,m09,m10)
Nag_R2 <- NA

for (i in 1:10){
   NagelkerkeR2(x[1])[2] <- Nag_R2 
}

Мне кажется, эта ошибка произошла, потому что эта функция просто работаетс "glm" объектами "lm".Итак, есть ли способ объединить объекты glm в один объект "glm" "lm"?

1 Ответ

0 голосов
/ 20 сентября 2018

Я думаю, вы будете искать что-то вроде:

Nag_R2 <- numeric(length(x))  ## pre-allocate vector
for (i in 1:10) {
   Nag_R2[i] <- NagelkerkeR2(x[[i]])[2]
}

Это предполагает, что второй компонент того, что возвращается NagelkerkeR2, является числовым значением, которое вы хотите сохранить (у меня нетпроверено).

Обратите внимание, что вам нужно использовать [[]] для доступа к элементам списка, если вы хотите, чтобы был возвращен объект, а не список длины 1: из Hadley Wickham,

...