我想使用线性回归模型,将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
我在哪里弄糟?
答案 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
我们得到减少的输出。