无法在 tab_model (sjPlot) 中进行 "kr" p 值计算

Can't get "kr" p-value computation in tab_model (sjPlot) to work

我正在尝试用 sjPlot::tab_model 总结一个 lmer 模型。它一直有效,直到我尝试获得 "kr" p 值以同时获得自由度。我安装了pbkrtest,可以单独使用,但是被tab_model调用不成功。有谁知道我错过了什么?

我运行一个线性混合效应模型。 我可以使用

生成 table
tab_model(BWRTmod1b,show.stat = TRUE)

当我更改调用以获取基于 Kenward-Roger 近似自由度的 p 值时,如下所示:

tab_model(BWRTmod1b,p.val= "kr" ,show.stat = TRUE) 

我收到以下错误消息:

Error in round(attr(pv, "df.kr", exact = TRUE)) : non-numeric argument to mathematical function

我用谷歌搜索了这个问题,我唯一发现的是缺少 pbkrtest 包,但这里不是这种情况。我还搜索了错误消息本身,发现当将数据框输入需要数字输入的函数时,可能会发生这种情况。我还更新了 R 和 reinstalled/updated 所有软件包,但没有帮助。

我不知道是否以及如何解决这个问题,而且我也完全有可能遗漏了其他东西。任何提示将不胜感激。

Link to the model output

# working
tab_model(BWRTmod1b,show.stat = TRUE)

# not working
tab_model(BWRTmod1b,p.val= "kr" ,show.stat = TRUE) 

# long term goal
tab_model(BWRTmod1b,p.val= "kr", show.df=TRUE ,show.stat = TRUE) 

我希望生成包含自由度的线性混合效应模型结果的 table。我可以根据 Wald 近似生成带有摘要的 table,但我无法获得具有自由度的 Kenward-Roger 版本。

这证明是 lmerTestsjPlot 包之间的 bug/infelicitous 交互。可重现的例子:

library(lmerTest)
fm3 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy,
            REML=TRUE)
sjPlot::tab_model(fm3,p.val="kr")
## Error in round(attr(pv, "df.kr", exact = TRUE)) : 
## non-numeric argument to mathematical function

而如果您以 library(lme4) 而不是 library(lmerTest) 开头,同样的事情会起作用。现在应该是 fixed in the development version of sjPlot

不确定这如何与 REML=TRUE 交互...