考虑下面的两个data.frames
。在每种情况下,我都想从关联的模型中提取三个变量的截距和斜率。
set.seed(911)
df1 <- data.frame(y=rnorm(10) + 1:10, x=1:10, x2=rnorm(10), x3 = rnorm(10))
model1 <- lm(y ~ x + x2 + x3, data = df1)
summary(model1)
summary(model1)$coefficients[1]
summary(model1)$coefficients[2]
summary(model1)$coefficients[3]
summary(model1)$coefficients[4]
set.seed(911)
df2 <- data.frame(y=rnorm(10) + 1:10, x=1:10, x2=1, x3 = rnorm(10))
model2 <- lm(y ~ x + x2 + x3, data = df2)
summary(model2)
summary(model2)$coefficients[1]
summary(model2)$coefficients[2]
summary(model2)$coefficients[3]
summary(model2)$coefficients[4]
但是,在第二个示例中,没有变化x2
,因此系数估计为NA
。重要的是,summary(model2)
打印,NA
但summary(model2)$coefficients[3]
不返回,NA
而是跳过并移至下一个参数。
但是相反,我想要:
0.9309032
0.8736204
NA
0.5494
如果我不是在adnavce知道哪些系数会做NA
的,即它可能是x1
,x2
或x2 &
X3 or even something like
X1 &
X2 &
x3`,我怎么能回到我想要的结果?
直接从模型中获取它们。无需使用summary()
:
> model2$coefficients
(Intercept) x x2 x3
0.9309032 0.8736204 NA 0.5493671
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句