在 sjPlot 中调整 r2 的名称:tab_model

问题描述

虽然我认为这样做不是最佳实践,但我希望在一个表中并排放置一个线性模型和一个线性混合效应模型。我使用 sjplot::tab_model。 问题出现在 r2 上。在 lm 中,它计算 r2 和调整后的 r2。但在 lmer 中,它计算边际和条件 r2。 Tab_model 为第 r2 行打印第一个指定模型中使用的度量的名称。 我认为最好的办法是创建一个新行,并分别为每个模型提供正确名称的 r2,但同时更改 tab_model 为 r2 写入的名称也会以某种方式解决问题。

这是一个可重复的示例,因为它只是出于布局原因,所以根本没有意义:

library("sjplot")
library("lme4")

lm1 <- lm(mpg ~ cyl,mtcars)
lmer2 <- lmer(mpg ~ hp + (1|gear),mtcars)


tab_model(lm1,lmer2,show.aic = T,show.fstat = T,show.r2 = T)

解决方法

这是一个完全的黑客,但您可以只分配 sjTable 输出,然后使用 base::gsub 手动更改单词调整:

tab <- tab_model(lm1,lmer2,show.aic = T,show.fstat = T,show.r2 = T)
tab$page.complete <- gsub("adjusted","adjusted or conditional",tab$page.complete)
tab

enter image description here