使用sjPlot的tab_model显示p值及星号时报错的解决咨询
解决sjPlot tab_model同时显示p值与显著性星号的报错问题
第一步:更新sjPlot到最新版本
旧版本的sjPlot可能存在参数兼容性bug,先执行更新:update.packages("sjPlot", dependencies = TRUE)重启R后再尝试运行代码。
第二步:替换参数组合,避免使用
scientific_stars
如果更新后仍报错,放弃p.style = "scientific_stars",改用p.val = "both"参数来同时显示p值数值和星号:tab_model(model1, model2, show.p = TRUE, p.val = "both", p.style = "numeric") # 确保p值以常规数值格式显示第三步:手动指定模型类型(针对模型识别异常情况)
若上述方法仍无效,可能是sjPlot对lm模型的识别出现异常,手动指定模型类型:tab_model(model1, model2, model.type = c("lm", "lm"), show.p = TRUE, p.val = "both")备选方案:自定义p值列
如果以上都不行,先导出模型结果为数据框,手动添加带星号的p值列,再用tab_df生成表格:# 提取模型结果为数据框 df <- get_model_data(model1, model2, show.p = TRUE) # 定义显著性星号规则 add_stars <- function(p) { dplyr::case_when( p < 0.001 ~ paste0(p, "***"), p < 0.01 ~ paste0(p, "**"), p < 0.05 ~ paste0(p, "*"), TRUE ~ as.character(p) ) } # 给p值列添加星号 df$p.value <- add_stars(df$p.value) # 生成表格 tab_df(df)
内容的提问来源于stack exchange,提问作者flâneur
相关产品推荐
相关产品推荐

