1

我一直在使用神奇的包 texreg 从 lme4 模型生成高质量的 HTML 表格。不幸的是,默认情况下,texreg 在 lme4 模型的系数下创建置信区间,而不是标准误差(参见JSS 论文的第 17 页)。

举个例子:

library(lme4)
library(texreg)
screenreg(lmer(Reaction ~ Days + (Days|Subject), sleepstudy))

生产

Computing profile confidence intervals ...
Computing confidence intervals at a confidence level of 0.95. Use argument "method = 'boot'" for bootstrapped CIs.

===============================================
                               Model 1         
-----------------------------------------------
(Intercept)                     251.41 *       
                               [237.68; 265.13]
Days                             10.47 *       
                               [  7.36;  13.58]
-----------------------------------------------
AIC                            1755.63         
BIC                            1774.79         
Log Likelihood                 -871.81         
Deviance                       1743.63         
Num. obs.                       180            
Num. groups: Subject             18            
Variance: Subject.(Intercept)   612.09         
Variance: Subject.Days           35.07         
Variance: Residual              654.94         
===============================================
* 0 outside the confidence interval

我更愿意看到这样的东西:

Computing profile confidence intervals ...
Computing confidence intervals at a confidence level of 0.95. Use argument "method = 'boot'" for bootstrapped CIs.

===============================================
                               Model 1         
-----------------------------------------------
(Intercept)                     251.41 *       
                                (24.74)
Days                             10.47 *       
                                 (5.92)
-----------------------------------------------
[output truncated for clarity]

有没有办法克服这种行为?据我所知,使用 ci.force = FALSE 选项不起作用。

我坚持使用 texreg,而不是像 stargazer 这样的其他软件包之一,因为 texreg 允许我将系数分组到有意义的组中。

在此先感谢您的帮助!

(更新:编辑包括一个例子)

4

2 回答 2

2

使用naive=TRUE接近你想要的......

library(lme4); library(texreg)
fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
screenreg(fm1,naive=TRUE)

## ==========================================
##                                Model 1    
## ------------------------------------------
## (Intercept)                     251.41 ***
##                                  (6.82)   
## Days                             10.47 ***
##                                  (1.55)   
## ------------------------------------------
## [etc.]

我不知道你从哪里得到 24.94、5.92 的值...?

sqrt(diag(vcov(fm1)))
## [1] 6.824556 1.545789

cc <- confint(fm1,which="beta_")
apply(cc,1,diff)/3.84
## (Intercept)        Days 
##    7.14813     1.61908

基于缩放配置文件置信区间的隐含标准误差稍微宽一些,但差别不大。

我不知道如何轻松地根据配置文件置信区间获得显着性检验/星级,同时仍然在表格中获得标准误差。根据中的ci.test条目?texreg

  • 打印 CI 时,如果置信区间不包括零,则texreg打印一个星号
  • 打印 SE 时,它会根据 p 值的大小打印标准星数
于 2014-07-19T14:38:01.600 回答
2

您也可以尝试将“include.ci”参数设置为 FALSE

model <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
texreg(model, include.ci = FALSE)
于 2020-04-29T10:01:41.253 回答