Если вы используете texreg вместо stargazer, это довольно просто:
library(lfe)
library(texreg)
n<-1000
u1<-rnorm(n)
u2<-rnorm(n)
z=3+0.5*rnorm(n)
x=0.5*z+u1
y=2*x+u2
df<-data.frame(y=y,x=x,z=z)
model1<-felm(y~x,data=df)
model2<-felm(y~1|0|(x~z),data=df)
screenreg(list(model1, model2),
custom.coef.names = c("(Intercept)", "x", "x"))
#>
#> ===============================================
#> Model 1 Model 2
#> -----------------------------------------------
#> (Intercept) 0.05 0.11
#> (0.05) (0.13)
#> x 1.98 *** 1.93 ***
#> (0.03) (0.09)
#> -----------------------------------------------
#> Num. obs. 1000 1000
#> R^2 (full model) 0.82 0.81
#> R^2 (proj model) 0.82 0.81
#> Adj. R^2 (full model) 0.81 0.81
#> Adj. R^2 (proj model) 0.81 0.81
#> ===============================================
#> *** p < 0.001, ** p < 0.01, * p < 0.05
Как вы можете видеть, это работает, указав вектор меток коэффициентов, и если texreg обнаружит, что эти значения дублированы, он поместит эти оценки в одну строку (между прочим, для генерирования латекса используйте texreg(list(model1, model2))
вместо screenreg
).
Также стоит отметить, что если вы вставите NA
в custom.coef.names
, то по умолчанию вернется к текущему имени, поэтому, если у вас есть 100 других ковариат в модели, вы можете сделать custom.coef.names = c(NA, "x", "x", rep(NA, 100))
вместо того, чтобы выписать их все .