如何从lm摘要中隐藏控制变量

时间:2019-11-27 13:56:29

标签: r regression linear-regression lm

我想使用线性回归模型,将y作为我的因变量,将x1 x2作为我的自变量。现在,我还有2个控制变量z1 z2。它们都是指标变量(SIC代码和年份)另存为因子。有没有办法不在输出中显示这些指标的每个级别?它们都具有〜20个电平,使用summary(lm(y~x1+x2+z1+z2))时的输出完全不可读。

我尝试使用summary.lm命令,但尝试时,输出看起来像这样:


Call:
lm(formula = tmd2$eps ~ tmd2$marketcap + tmd2$post + tmd2$year_dummy + 
    tmd2$SIC)

Residuals:
     Min       1Q   Median       3Q      Max 
-18.6260  -0.5528   0.0000   0.8117   8.4759 

Coefficients: (1 not defined because of singularities)
Error in symnum(pv, corr = FALSE, na = FALSE, cutpoints = c(0, 0.001,  : 'x' must be between 0 and 1

我在哪里弄糟?

1 个答案:

答案 0 :(得分:1)

summary返回一个值,您可以在显示前对其进行操作。这是一个使用虹膜数据的小例子。

LMI = lm(Sepal.Length ~ ., data=iris)
summary(LMI)

Call:
lm(formula = Sepal.Length ~ ., data = iris)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.79424 -0.21874  0.00899  0.20255  0.73103 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)        2.17127    0.27979   7.760 1.43e-12 ***
Sepal.Width        0.49589    0.08607   5.761 4.87e-08 ***
Petal.Length       0.82924    0.06853  12.101  < 2e-16 ***
Petal.Width       -0.31516    0.15120  -2.084  0.03889 *  
Speciesversicolor -0.72356    0.24017  -3.013  0.00306 ** 
Speciesvirginica  -1.02350    0.33373  -3.067  0.00258 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.3068 on 144 degrees of freedom
Multiple R-squared:  0.8673,    Adjusted R-squared:  0.8627 
F-statistic: 188.3 on 5 and 144 DF,  p-value: < 2.2e-16

现在,假设我们要查看有关系数的信息,但仅针对连续变量(省略“种类”对应于省略控制变量)。而不是直接打印摘要,我们捕获输出并仅显示所需的部分。

SLMI = summary(LMI)
SLMI$coefficients[1:4,]
               Estimate Std. Error   t value     Pr(>|t|)
(Intercept)   2.1712663 0.27979415  7.760227 1.429502e-12
Sepal.Width   0.4958889 0.08606992  5.761466 4.867516e-08
Petal.Length  0.8292439 0.06852765 12.100867 1.073592e-23
Petal.Width  -0.3151552 0.15119575 -2.084418 3.888826e-02

我们得到减少的输出。