R语言 如何将变量分组或将更多变量放在汇总表的同一标题下?

ki1q1bka  于 2023-10-13  发布在  其他
关注(0)|答案(1)|浏览(135)

作为R和gtsummary的初学者,我在制作tbl_summary时遇到了一个问题。FEV 1前、FVC前、FEV 1后和FVC后的数据不符合我的预期。前FEV 1和前FVC以及后FEV 1和后FVC的缺失值相同,因此我希望每对仅缺失1行。更棒的是将2对“分组”如下:
| 支气管扩张剂前肺量测定|
| FEV1| {mean}({sd})|......这是什么?
| FVC| {mean}({sd})|......这是什么?
| 支气管扩张剂后肺量测定|
| FEV1| {mean}({sd})|......这是什么?
| FVC| {mean}({sd})|......这是什么?
这是我目前的代码为下表

Tib1 <- Data %>%
+   select(c(sex, alder_basis, etnisknavn, udd1, udd2, lsprefev, lsprefvc, lspostfev, lspostfvc, av)) %>%
+   unlabelled() %>%
+   tibble()
> Tib1$lspostfvc <- as.double(Tib1$lspostfvc)
> Tib1$av <- fct_na_value_to_level(Tib1$av,level = "NA")
> Tib1
> Tbl1 <- tbl_summary(Tib1, 
+             by = av,
+             value = list(sex ~ "Female", etnisknavn ~ "No Danish descent"),
+             label = list(sex ~ "Female", etnisknavn ~ "Non-Danish descent", alder_basis ~ "Age (as of January 1st 2004)", lspostfvc ~ "Post FVC"),
+             statistic = list(
+               all_continuous() ~ "{mean} ({sd})",
+               all_categorical() ~ "{n} ({p}%)"),
+             digits = c(alder_basis) ~ 1, 
+             missing_text = "(Missing, n)"
+             ) %>%
+   add_p() %>%
+   add_overall() %>%
+   modify_spanning_header(c("stat_1":"stat_8") ~ "**Age of AC debut**") %>%
+   modify_caption("**Table 1. Patient Characteristics**") %>%
+   modify_footnote(
+     update = all_stat_cols() ~ 
+       "mean (SD) for continous; n (%) for categorical"
+   )
> 
> Tbl1

My current summary table showing pre-FEV1, pre-FVC, post-FEV1 and post-FVC as individual variables and each with corresponding missing values

9ceoxa92

9ceoxa921#

我发现了一个相当好的解决方案,感谢这一点:gtsummary - present proportion of unknown/missing values separately
我首先将我的Tib1框架分成3个较小的tibles(一个具有一般特征,一个具有支气管扩张剂前肺量测定数据,一个具有支气管扩张剂后肺量测定数据),然后使用mutate和is.na函数搜索NA并在单独的行中计数。然后为每个tibble创建一个tbl_summary,最后用tbl_stack堆叠它们。
我将离开这个问题在这里,而不是删除,以帮助别人,如果类似的障碍显示

相关问题