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

如何翻转tbl_svysummary生成表格中的No和Yes列顺序?

翻转tbl_svysummary表格中No/Yes列顺序的方法

当然可以,有两种常用方法实现需求:

方法1:修改数据中分类变量的因子水平

直接调整both变量的因子水平顺序,让"Yes"排在"No"前面,生成表格时会自动按新顺序展示列:

data(api, package = "survey")
# 修改both变量的因子水平,将Yes设为第一个水平
apiclus1_mod <- apiclus1 %>%
  mutate(both = factor(both, levels = c("Yes", "No")))

# 生成汇总表格
tbl_svysummary_ex2 <-
  survey::svydesign(id = ~dnum, weights = ~pw, data = apiclus1_mod, fpc = ~fpc) %>%
  tbl_svysummary(by = "both", include = c(api00, stype))

方法2:在表格生成后调整列顺序

如果不想修改原始数据,可使用modify_table_cols()函数直接调整列的位置和标签:

data(api, package = "survey")
tbl_svysummary_ex2 <-
  survey::svydesign(id = ~dnum, weights = ~pw, data = apiclus1, fpc = ~fpc) %>%
  tbl_svysummary(by = "both", include = c(api00, stype)) %>%
  # 调整列顺序,将Yes列移至No列前方,并修正列标签
  modify_table_cols(
    cols = c(label, stat_1, stat_0, p.value),
    labels = list(stat_1 = "Yes", stat_0 = "No")
  )

注:默认情况下,by变量的第一个水平对应stat_0,第二个对应stat_1,原数据中both的水平是No、Yes,所以stat_0是No列,stat_1是Yes列,调整后即可实现顺序翻转。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 11:26:04