【问题标题】:how to alphanumerically sort levels of a categorical variable to pass to gtsummary table in R如何对分类变量的级别进行字母数字排序以传递给 R 中的 gtsummary 表
【发布时间】:2022-09-27 21:31:59
【问题描述】:

我希望按 1-2-10 排序等级。
我知道如果在 case_when 我使用数字(即 1 而不是 \"1\", ... )这将解决问题,但在我的实际情况下,我必须将值保留为字符。
在 gtsummary 手册中,它使用了sort 属性。我将它设置为字母数字,但我仍然无法得到我想要的。
还有其他方法可以对字母数字变量的级别进行排序吗?

library(gtsummary)
trial2 <- trial %>% 
    dplyr::select(trt, age, grade) %>%
mutate(grade = case_when(grade == \"I\" ~ \"1\",
                         grade == \"II\" ~ \"10\",
                         TRUE ~ \"2\"))

trial2 %>%
    tbl_summary(by = trt,
                sort = list(
                           grade ~ \"alphanumeric\")) %>%
    add_p() %>%
    modify_footnote(update = everything() ~ NA) %>%
     bold_labels()

  • 您需要以数字方式重新排序您的因子,请参阅here 示例
  • 请提供一个可重复的示例...

标签: r dplyr gtsummary


【解决方案1】:

你可以考虑字符变量来获得你想要的顺序吗:

library(gtsummary)
library(dplyr)

trial2 <- trial %>% 
  dplyr::select(trt, age, grade) %>%
  mutate(grade = case_when(grade == "I" ~ "1",
                           grade == "II" ~ "10",
                           TRUE ~ "2"),
         grade = factor(grade, levels = c("1","2","10")))

trial2 %>%
  tbl_summary(by = trt) %>%
  add_p() %>%
  modify_footnote(update = everything() ~ NA) %>%
  bold_labels()

【讨论】:

    猜你喜欢
    • 2022-01-15
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 1970-01-01
    • 2013-07-06
    • 2021-07-28
    相关资源
    最近更新 更多