无法在tab_model(sjPlot)中获得“ kr” p值计算才能正常工作

时间:2019-08-08 22:16:23

标签: r sjplot

我正在尝试用lmer总结一个sjPlot::tab_model模型。它一直有效,直到我尝试获取“ kr” p值也获得自由度。我已经安装了pbkrtest,可以单独使用它,但是tab_model调用失败。有人知道我在想什么吗?

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

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

当我根据这样的Kenward-Roger近似自由度更改调用以获取p值时:

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

我收到以下错误消息:

  

回合错误(attr(pv,“ df.kr”,确切= TRUE)):     数学函数的非数字参数

我已经搜索了这个问题,发现的唯一一件事是缺少一个pbkrtest软件包,但事实并非如此。我还搜索了错误消息本身,发现当将数据帧输入到需要数字输入的函数中时,可能会发生这种情况。我还更新了R并重新安装/更新了所有软件包,但这无济于事。

我不知道是否以及如何解决此问题,而且我很可能遗漏了其他内容。任何提示将不胜感激。

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) 

我希望生成一个包含自由度的线性混合效果模型结果表。我可以基于Wald近似值生成带有摘要的表格,但无法获得具有自由度的Kenward-Roger版本。

1 个答案:

答案 0 :(得分:0)

事实证明,这是lmerTestsjPlot软件包之间的错误/难以理解的交互。可复制的示例:

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相互作用...