【问题标题】:Summarize categorical variables by numeric: gtsummary package按数字汇总分类变量:gtsummary 包
【发布时间】:2020-08-03 11:35:43
【问题描述】:

我需要有关如何使用 gtsummary 包编写 R 代码的帮助,以创建一个汇总表,其中包含多个分类变量作为行,而列侧(“by”变量)在我的情况下是一个数字变量,以年为单位。因此,从本质上讲,我想通过平均/中位年龄来总结几个患者的分类特征。

作为一个例子,在这个包中,使用数据“试验”,我想例如在表格的行轴上有分类变量(标记、阶段、等级),而 by 变量是“年龄” ,因此这些变量的每个类别的中位年龄。

感谢您的帮助。 耐莉

【问题讨论】:

    标签: r gtsummary


    【解决方案1】:

    我不是 100% 清楚你在问什么。我猜你想按高龄和低龄来汇总数据(在下面的示例中按中位数划分)?

    首先,您需要创建一个分类年龄变量。

    library(gtsummary)
    library(tidyverse)
    
    df_age_example <-
      trial %>%
      mutate(
        # create a categorical age variable split at the median
        age2 = ifelse(
          age >= median(.$age, na.rm = TRUE),
          "Age Above or at Median",
          "Age Below Median"
        )
      ) %>%
      # keep variables to be summarized 
      select(age2, marker, grade)
    

    然后您需要将该数据框传递给tbl_summary() 以汇总数据。

    tbl_summary(data= df_age_example, by = age2)
    

    这将产生下表。

    我希望这会有所帮助。快乐编码!

    【讨论】:

    • 道歉我不清楚丹尼尔。我想根据其他变量的水平计算平均/平均年龄。例如,要报告 I 级 = 59、II 级 = 65、III 级 = 69 岁等的平均年龄。这有意义吗?
    • 哦,我明白了!在这种情况下,你会想要这样的东西: trial %>% select(age,grade) %>% tbl_summary(by =grade, statistic = all_continuous() ~ "{mean}") 没有办法不幸的是,这在一个长表中,其中包含多个分类变量作为使用 gtsummary 包的行。
    猜你喜欢
    • 1970-01-01
    • 2023-01-12
    • 2018-10-22
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 2023-01-08
    相关资源
    最近更新 更多