首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在r gtsummary::tbl_summary中计算总观测值的百分比?

在r gtsummary::tbl_summary中计算总观测值的百分比?
EN

Stack Overflow用户
提问于 2020-08-29 04:26:59
回答 1查看 358关注 0票数 2

问题:在gtsummary中,tbl_summary函数计算总的非缺失观测值中的列百分比。我希望gtsummary从丢失和未丢失的观察值总数中计算百分比。

来自http://www.danieldsjoberg.com/gtsummary/articles/gallery.htmlgtsummary表库的示例

代码语言:javascript
复制
trial[c("trt", "age", "grade")] %>%
  tbl_summary(
    by = trt, 
    missing = "no",
    statistic = all_continuous() ~ "{median} ({p25}, {p75}) [N = {N_nonmiss}]"
  ) %>%
  modify_header(stat_by = md("**{level}**<br>N =  {n} ({style_percent(p)}%)")) %>%
  add_n() %>%
  bold_labels() %>%
  modify_spanning_header(starts_with("stat_") ~ "**Chemotherapy Treatment**")

等级没有遗漏观察,因此药物A组中35名1级疾病患者为35/98 (36%)。

现在,将3级重新编码为缺失:

代码语言:javascript
复制
trial$grade[trial$grade %in% "III"] <- NA
trial$grade <- droplevels(trial$grade)

重新运行tbl_summary

代码语言:javascript
复制
trial[c("trt", "age", "grade")] %>%
  tbl_summary(
    by = trt, 
    missing = "no",
    statistic = all_continuous() ~ "{median} ({p25}, {p75}) [N = {N_nonmiss}]"
  ) %>%
  modify_header(stat_by = md("**{level}**<br>N =  {n} ({style_percent(p)}%)")) %>%
  add_n() %>%
  bold_labels() %>%
  modify_spanning_header(starts_with("stat_") ~ "**Chemotherapy Treatment**")

1级现在表示为67个(52%)非丢失obs中的35个。药物A组。我仍然希望将百分比表示为98人的36%。在gtsummary中有什么方法可以做到这一点吗

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-29 04:50:41

我认为获得所需内容的最好方法是使用forcats::fct_explicit_na()函数将缺少的值显式表示为NA。当NA值是一个因子的水平时,它将被包括在百分比计算的分母中。

代码语言:javascript
复制
library(gtsummary)
library(tidyverse)


trial %>%
  select(response, trt) %>%
  # make missing value explicit for categorical variables, using fct_explicit_na
  mutate(response = factor(response) %>% fct_explicit_na()) %>%
  # summarize data
  tbl_summary(by = trt)

这个解决方案对你有效吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63640473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档