我正在尝试用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并重新安装/更新了所有软件包,但这无济于事。
我不知道是否以及如何解决此问题,而且我很可能遗漏了其他内容。任何提示将不胜感激。
# 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版本。
答案 0 :(得分:0)
事实证明,这是lmerTest
和sjPlot
软件包之间的错误/难以理解的交互。可复制的示例:
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
相互作用...