删除R中lm输出的系数
我想从R中普通最小二乘法删除R中lm输出的系数,r,lm,R,Lm,我想从R中普通最小二乘法lm()模型的输出中删除所有as.factor元素。最后一行不起作用,但例如: frame <- data.frame(y = rnorm(100), x= rnorm(100), block = sample(c("A", "B", "C", "D"), 100, replace = TRUE)) mod <- lm(y ~ x + as.factor(block), data = frame) summary(mod) summary(mod)$coef
lm()
模型的输出中删除所有as.factor
元素。最后一行不起作用,但例如:
frame <- data.frame(y = rnorm(100), x= rnorm(100), block = sample(c("A", "B", "C", "D"), 100, replace = TRUE))
mod <- lm(y ~ x + as.factor(block), data = frame)
summary(mod)
summary(mod)$coefficients[3:5,] <- NULL
frame一个选项是在包中使用felm函数
如包装中所述:
该软件包适用于具有多组固定效应的线性模型,即具有2个或多个具有大量水平的因子。它执行与lm
类似的功能,但它使用一种特殊的方法从正态方程中投影出多组固定效应,因此速度更快
set.seed(123)
框架直接编辑mod
对象,而不是其摘要<代码>mod$系数谢谢,但是这并不能完全从对象中移除它们;如果运行该代码,然后运行summary(mod)
,则系数仍以NAs的形式显示在输出中。无论如何,要完全删除它们吗?变量存在于mod对象的许多返回元素中(不仅仅是系数),因此很难删除。你为什么要这样做?你想输出的仅仅是系数/se等吗<代码>星探(coef(摘要(mod))[-(3:5),])
。还有一个ommit
参数,它可能会有帮助。stargazer(mod,ommit=“block”)
ommit参数会使stargazer
速度减慢太多,但另一部分工作正常。谢谢
set.seed(123)
frame <- data.frame(y = rnorm(100), x= rnorm(100), block = sample(c("A", "B", "C", "D"), 100, replace = TRUE))
id<-as.factor(frame$block)
mod <- lm(y ~ x + id, data = frame) #lm
summary(mod)
Call:
lm(formula = y ~ x + id, data = frame)
Residuals:
Min 1Q Median 3Q Max
-2.53394 -0.68372 0.04072 0.67805 2.00777
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.18115 0.17201 1.053 0.2950
x -0.08310 0.09604 -0.865 0.3891
idB 0.04834 0.24645 0.196 0.8449
idC -0.51265 0.25052 -2.046 0.0435 *
idD 0.04905 0.26073 0.188 0.8512
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.9002 on 95 degrees of freedom
Multiple R-squared: 0.06677, Adjusted R-squared: 0.02747
F-statistic: 1.699 on 4 and 95 DF, p-value: 0.1566
library(lfe)
est <- felm(y ~ x| id)
summary(est)
Call:
felm(formula = y ~ x | id, data = frame)
Residuals:
Min 1Q Median 3Q Max
-2.53394 -0.68372 0.04072 0.67805 2.00777
Coefficients:
Estimate Std. Error t value Pr(>|t|)
x -0.08310 0.09604 -0.865 0.389
Residual standard error: 0.9002 on 95 degrees of freedom
Multiple R-squared(full model): 0.06677 Adjusted R-squared: 0.02747
Multiple R-squared(proj model): 0.00782 Adjusted R-squared: -0.03396
F-statistic(full model):1.699 on 4 and 95 DF, p-value: 0.1566
F-statistic(proj model): 0.7487 on 1 and 95 DF, p-value: 0.3891