tbl_summary() 具有长而整洁的数据,其中单个(例如)患者 ID 在因子列中具有多个值
tbl_summary() with long, tidy data where single (e.g.,) patient ID has multiple values in factor column
library(tidyverse)
library(gtsummary)
tibble(patient_id = c("A","A", "A", "B", "B"),
disease = c("cancer", "heart disease", "fat fingers", "heart disease", "fat fingers")) %>%
select(-patient_id) %>%
tbl_summary()
以上是来自 gtsummary 库的 tbl_summary
函数的示例代码和输出。
在这种情况下我有两个病人(A 和 B),我想看看输出结果显示有多少百分比的病人有“胖手指”(应该是 100%),有多少百分比有“心脏病” "(应该是 100%)和患癌症的百分比(应该是 50%),我还希望“N”等于 2。
在 tbl_summary() 中,我看不到有一个选项可以按 id 列进行汇总,例如,所以我唯一的其他选择是 pivot_wider(id_cols = patient_id, values_from....etc.)
,但是tbl_summary() 输出不会有漂亮的标题和 sub-headings。除此之外,我想我可以从头开始自定义 gt table,但我喜欢 tbl_summary() 的易用性,当有多个因素时它似乎无法正常工作每个 ID 的价值。
典型的 gtsummary table 确实需要宽格式的数据。但是你可以获得你需要的table。您将从为没有列出的疾病的患者添加行开始,然后您可以使用 tbl_summary()
进行总结。您还需要进行一些美学上的修改。示例如下!
library(tidyverse)
library(gtsummary)
tbl <-
tibble(patient_id = c("A","A", "A", "B", "B"),
disease = c("cancer", "heart disease", "fat fingers",
"heart disease", "fat fingers"),
present = TRUE) %>%
# adding observations for patients without a disease
complete(patient_id, disease, fill = list(present = FALSE)) %>%
select(-patient_id) %>%
# summarizing data
tbl_summary(by = present, percent = "row") %>%
modify_header(stat_2 ~ "**Overall**") %>%
modify_column_hide(stat_1)
由 reprex package (v2.0.1)
创建于 2021-11-12
library(tidyverse)
library(gtsummary)
tibble(patient_id = c("A","A", "A", "B", "B"),
disease = c("cancer", "heart disease", "fat fingers", "heart disease", "fat fingers")) %>%
select(-patient_id) %>%
tbl_summary()
以上是来自 gtsummary 库的 tbl_summary
函数的示例代码和输出。
在这种情况下我有两个病人(A 和 B),我想看看输出结果显示有多少百分比的病人有“胖手指”(应该是 100%),有多少百分比有“心脏病” "(应该是 100%)和患癌症的百分比(应该是 50%),我还希望“N”等于 2。
在 tbl_summary() 中,我看不到有一个选项可以按 id 列进行汇总,例如,所以我唯一的其他选择是 pivot_wider(id_cols = patient_id, values_from....etc.)
,但是tbl_summary() 输出不会有漂亮的标题和 sub-headings。除此之外,我想我可以从头开始自定义 gt table,但我喜欢 tbl_summary() 的易用性,当有多个因素时它似乎无法正常工作每个 ID 的价值。
典型的 gtsummary table 确实需要宽格式的数据。但是你可以获得你需要的table。您将从为没有列出的疾病的患者添加行开始,然后您可以使用 tbl_summary()
进行总结。您还需要进行一些美学上的修改。示例如下!
library(tidyverse)
library(gtsummary)
tbl <-
tibble(patient_id = c("A","A", "A", "B", "B"),
disease = c("cancer", "heart disease", "fat fingers",
"heart disease", "fat fingers"),
present = TRUE) %>%
# adding observations for patients without a disease
complete(patient_id, disease, fill = list(present = FALSE)) %>%
select(-patient_id) %>%
# summarizing data
tbl_summary(by = present, percent = "row") %>%
modify_header(stat_2 ~ "**Overall**") %>%
modify_column_hide(stat_1)