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