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

更新gtsummary至1.7.1后tbl_svysummary无法处理带标签因子变量

解决方案

针对gtsummary 1.7.1版本中tbl_svysummary处理带标签因子变量时的类型不兼容错误,提供以下几种保留标签的解决方法:

方法1:将带标签变量转为保留标签的因子

使用haven::as_factor()将labelled类变量转换为因子,该函数会自动将变量的标签设置为因子水平,既解决类型匹配问题,又保留标签信息:

PAPTABLE = why_subd %>%
  mutate(RE_US = haven::as_factor(RE_US)) %>%
  tbl_svysummary(by = RE_US, include = PAPYNOEV3YR, statistic = list(all_categorical() ~ "{p}%"))

方法2:回退到稳定版本

如果暂时不想修改代码,可以回退到gtsummary 1.7.0版本(该版本无此兼容问题):

# 卸载当前版本
remove.packages("gtsummary")
# 安装指定版本
remotes::install_version("gtsummary", version = "1.7.0")

方法3:手动指定因子水平与标签

若需要更精细的控制,可手动提取变量标签并转换为因子:

PAPTABLE = why_subd %>%
  mutate(
    # 处理分组变量RE_US
    RE_US = factor(
      RE_US,
      levels = haven::val_labels(RE_US),
      labels = names(haven::val_labels(RE_US))
    ),
    # 处理分析变量PAPYNOEV3YR(确保标签保留)
    PAPYNOEV3YR = factor(
      PAPYNOEV3YR,
      levels = haven::val_labels(PAPYNOEV3YR),
      labels = names(haven::val_labels(PAPYNOEV3YR))
    )
  ) %>%
  tbl_svysummary(by = RE_US, include = PAPYNOEV3YR, statistic = list(all_categorical() ~ "{p}%"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:02:31