7

我正在尝试使用 tbl_summary () 中的函数 sort = list (stage ~ "alphanumeric") 更改特征表列中的行顺序 trial[c("trt", "age", "stage", "grade")] %>% tbl_summary(by = trt, sort = list (grade ~ "alphanumeric"))。这不起作用。我想看(例如:T3、T 4、T1、T2 和 III 级 -> I 阶段)

4

1 回答 1

4

tbl_summary()有 3 种方法可以控制输出中出现的分类变量的阶数。

  1. 使用默认的字母数字排序(因子按其因子级别排序)

  2. tbl_summary(sort=)使用参数按频率对输出进行排序。

  3. 通过定义因子变量并指定您希望输出出现的顺序来更改顺序。

下面的示例适用于每种情况。我希望这回答了你的问题!快乐编码!

library(tidyverse)
library(gtsummary)

# sorting by alphanumeric is the default
trial[c("trt", "stage")] %>% 
  tbl_summary(by = trt)

在此处输入图像描述

# sorting by frequency using the `sort=` argument
trial[c("trt", "stage")] %>% 
  tbl_summary(by = trt, sort = all_categorical() ~ "frequency")

在此处输入图像描述

# manually change the order in the dataset, before passing to `tbl_summary`
trial[c("trt", "stage")] %>% 
  mutate(stage = factor(stage, levels = c("T4", "T3", "T2", "T1"))) %>% 
  tbl_summary(by = trt)

在此处输入图像描述

于 2020-06-09T18:45:37.677 回答