我从“by”变量创建了多个列,我想要mean()和sd(),但在一列(最后一列)中我只想要mean()。有没有办法使用 tbl_summary() 按列而不是按行格式化统计信息?
df <- data.frame(
group = rep(c("A", "B", "C"), each = 10),
var1 = rnorm(30, mean = 5, sd = 2),
var2 = rnorm(30, mean = 7, sd = 1),
var3 = rnorm(30, mean = 9, sd = 3))
df |>
tbl_summary(
by = group,
statistic = all_continuous() ~ "{mean} ({sd})"
)
那么,有没有一种方法可以只显示 Group == "C" 的 {mean},同时保留 Group = c("A", "B") 的 {mean} ({sd}) 统计信息?
您可以创建单独的表,然后合并它们:
library(gtsummary)
df |>
subset(group != "C") |>
tbl_summary(
by = group,
statistic = all_continuous() ~ "{mean} ({sd})"
) -> gts1
df |>
subset(group == "C") |>
tbl_summary(
by = group,
statistic = all_continuous() ~ "{mean}"
) -> gts2
tbl_merge(list(gts1, gts2)) |>
modify_spanning_header(everything() ~ NA_character_)
创建于 2024-09-24,使用 reprex v2.0.2