如何加入保留其 class ("glm" "lm") 的 glm 对象
How to join glm objects preserving their class ("glm" "lm")
我正在尝试为某些逻辑回归模型估计 Nagelkerke R^2。由于我有很多模型,我正在尝试使用 for
来自动化该过程。但是,当我将 glm
模型加入列表时,包 fmsb
中的 NagelkerkeR2()
函数给了我一个错误。
##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" 对象加入?
我想你会寻找类似的东西:
Nag_R2 <- numeric(length(x)) ## pre-allocate vector
for (i in 1:10) {
Nag_R2[i] <- NagelkerkeR2(x[[i]])[2]
}
这是假设 NagelkerkeR2
返回的任何内容的第二部分是您要保存的数值(我没有检查过)。
请注意,如果您想要返回一个对象而不是长度为 1 的列表,则需要使用 [[]]
来访问列表的元素:来自 Hadley Wickham,
我正在尝试为某些逻辑回归模型估计 Nagelkerke R^2。由于我有很多模型,我正在尝试使用 for
来自动化该过程。但是,当我将 glm
模型加入列表时,包 fmsb
中的 NagelkerkeR2()
函数给了我一个错误。
##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" 对象加入?
我想你会寻找类似的东西:
Nag_R2 <- numeric(length(x)) ## pre-allocate vector
for (i in 1:10) {
Nag_R2[i] <- NagelkerkeR2(x[[i]])[2]
}
这是假设 NagelkerkeR2
返回的任何内容的第二部分是您要保存的数值(我没有检查过)。
请注意,如果您想要返回一个对象而不是长度为 1 的列表,则需要使用 [[]]
来访问列表的元素:来自 Hadley Wickham,