抑制R中的固定效应系数。

问题描述 投票:3回答:2

是否有办法在使用summary()函数(例如相当于stata中的 absorb()函数)时,抑制线性模型中固定效应的系数。例如,我想让summary函数只输出截距和x,而不是把因子的系数和标准误差也输出。

frame <- data.frame(x = rnorm(100), y = rnorm(100), z = rep(c("A", "B", "C", "D"),25))
summary(lm(y~x + as.factor(z), data = frame)) 

Call:
lm(formula = y ~ x + as.factor(z), data = frame)

Residuals:
Min      1Q  Median      3Q     Max 
-2.2417 -0.6407  0.1783  0.5789  2.4347 

Coefficients:
          Estimate Std. Error t value Pr(>|t|)  
(Intercept)   -0.25829    0.19196  -1.346   0.1816  
 x              0.09983    0.09788   1.020   0.3104  

...

谢谢。

r summary lm
2个回答
4
投票

你可以做任何这些。

mod <- lm(y~x + as.factor(z), data = frame)
coef(mod)[c("(Intercept)", "x")]
# (Intercept)           x 
#  0.12357491 -0.06430765 
coef(mod)[grepl("Intercept|x", names(coef(mod)))]
# (Intercept)           x 
#  0.12357491 -0.06430765 
coef(mod)[1:2]
# (Intercept)           x 
#  0.12357491 -0.06430765 
mod$coefficients[1:2]
# (Intercept)           x 
#  0.12357491 -0.06430765 

0
投票

我强烈推荐 stargazer 包。

frame <- data.frame(x = rnorm(100), y = rnorm(100), z = rep(c("A", "B", "C", "D"),25))
summary(lm(y~x + as.factor(z), data = frame)) 
model <- lm(y~x + as.factor(z), data = frame)
library(stargazer)
stargazer(model, type="text")
stargazer(model, omit = "z", type="text")

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.