You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gtsummary格式化多项回归表格:移除NA行及添加伪R²

多项回归表格问题解决办法

1. 移除glance表格中的NA行

出现NA行是因为multinom模型的默认glance输出包含了无意义的NA统计项,即便指定了c(nobs, AIC),部分版本的gtsummary仍会带出这些行。直接用modify_table_body过滤掉值为NA的行即可:

tbl1 <- tbl_regression(H1, exponentiate = TRUE)%>%
  add_significance_stars(hide_se = FALSE, hide_ci = FALSE) %>%
  bold_labels() %>%
  italicize_levels()%>%
  add_glance_table(c(nobs, AIC)) %>%
  # 移除value为NA的行
  modify_table_body(filter, !is.na(value))

2. 若无法移除,修改NA内容

如果上述方法未生效,直接将NA替换为你需要的内容(比如空字符串):

tbl1 <- tbl_regression(H1, exponentiate = TRUE)%>%
  add_significance_stars(hide_se = FALSE, hide_ci = FALSE) %>%
  bold_labels() %>%
  italicize_levels()%>%
  add_glance_table(c(nobs, AIC)) %>%
  # 将NA替换为空白
  modify_table_body(mutate, value = ifelse(is.na(value), "", value))

3. 在glance表格中添加伪R²

多分类回归常用McFadden伪R²,借助DescTools包的PseudoR2函数计算后,通过add_glance_table的自定义参数添加:
先安装依赖包:

install.packages("DescTools")

再修改代码:

tbl1 <- tbl_regression(H1, exponentiate = TRUE)%>%
  add_significance_stars(hide_se = FALSE, hide_ci = FALSE) %>%
  bold_labels() %>%
  italicize_levels()%>%
  add_glance_table(
    c(nobs, AIC),
    # 添加McFadden伪R²
    list(
      "McFadden's Pseudo R²" = ~ DescTools::PseudoR2(H1, "McFadden")
    )
  ) %>%
  # 按需过滤NA行
  modify_table_body(filter, !is.na(value))

内容的提问来源于stack exchange,提问作者user17073706

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:50:37