如何修改 gtsummary 中的 N/如何为 gtsummary 整形单热编码数据

How to modify N in gtsummary/ how to shape one-hot-encoded data for gtsummary

我有 one_hot_encoded 的调查数据,然后我将其整理成更长的数据,以便我可以比较组内的变量。这里的问题是,这在我的 n 中创造了一个“神奇的”增长。我在我的数据框中保留了一个 id 列,因此我可以使用 uniq(id) 轻松获得真实的 n 来查找提供数据的不同人的数量。

然而,table中给出的N是基于行数的。有没有办法更改函数,以便 tbl_summary() 根据 uniq id 给出 N?但是,我在调用 tbl_summary 之前删除了 id 列以避免获得摘要统计信息。

我一直想知道的其他问题是,也许有更好的方法来调整我的数据以使其与 gtsummary 配对?


drug1_dose = rnorm(100)
drug2_dose = rnorm(100)

df <- data.frame(drug1_dose, drug2_dose) %>%
  rowid_to_column(d, "id") %>%

df <- df %>%
 rename(drug1 = drug1_dose) %>%
  rename(drug2 = drug2_dose) %>%  
  pivot_longer(c(drug1, drug2), names_to = "drug", values_to = "dose", values_drop_na = TRUE) %>%
  select(-id) %>%
  tbl_summary()


值得一提的是,在我的数据中,有几种情况只有药物1或药物2的数据,因为这两个组重叠但不相同。我不确定如何在 reprex 中显示它。

提前致谢!

您可以使用 modify_headeR() 函数将 header 更改为您想要的任何值。 http://www.danieldsjoberg.com/gtsummary/reference/modify.html

中的详细信息
library(gtsummary)
library(tidyverse)
packageVersion("gtsummary")
#> [1] '1.4.0'

drug1_dose = rnorm(100)
drug2_dose = rnorm(100)

df <- 
  data.frame(drug1_dose, drug2_dose) %>%
  rowid_to_column("id") %>%
  rename(drug1 = drug1_dose) %>%
  rename(drug2 = drug2_dose) %>%  
  pivot_longer(c(drug1, drug2), names_to = "drug", values_to = "dose", values_drop_na = TRUE)

tbl <- 
  df %>%
  select(-id) %>%
  tbl_summary() %>%
  modify_header(stat_0 = "**N = 100**")

reprex package (v2.0.0)

于 2021-04-21 创建