【问题标题】:How to modify N in gtsummary/ how to shape one-hot-encoded data for gtsummary如何修改 gtsummary 中的 N/如何为 gtsummary 塑造 one-hot-encoded 数据
【发布时间】:2021-04-21 18:12:09
【问题描述】:

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

但是,表中给出的 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 中显示它。

提前谢谢你!

【问题讨论】:

  • 代替select(-id)group_by(id)

标签: r tidyverse gtsummary


【解决方案1】:

您可以使用modify_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 创建

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    相关资源
    最近更新 更多