如何从 lm 摘要输出中省略 NA 系数?

How can I omit NA coefficients from the lm summary output?

我有一个包含许多定性交互的回归,并且一些组合没有任何观察结果。如何从 summary.lm() 输出中排除没有观测值的相互作用系数?

不破解 summary.lm() 方法很难(不可能?),但如果您愿意只看系数 table,您可以使用 na.omit(coef(summary(...)))) .

示例:

set.seed(101)
d <- data.frame(y=rnorm(100),x1=rnorm(100))
## add redundant variables
d$x2 <- d$x3 <- d$x1
m1 <- lm(y~.,data=d)  ## fit y to all other vars

summary(m1)
na.omit(coef(summary(m1)))
##               Estimate Std. Error    t value Pr(>|t|)
## (Intercept) -0.0329789 0.09341769 -0.3530263 0.724827
## x1           0.1002849 0.09341569  1.0735337 0.285668