I am using gtsummary::tbl_summary on R4.4. I received a table for it using the following df:
structure(list(Treatment = c("Verum", "Verum", "SoC", "SoC", "Verum"), PTN = c(7.91749000549316, 7.60503005981445, 8.45341014862061, 8.48719024658203, 7.39421987533569), HGF = c(13.0622499583508, 12.6070907710339, 12.3543298838879, 12.2434056399609, 13.6388056872632 ), FGF_21 = c(5.53692184768091, 5.28081165633569, 5.68246208510767, 5.6471217759646, 4.85877167067895), PVALB = c(8.4968900680542, 4.57206010818481, 7.59231996536255, 8.43292999267578, 6.51680994033813 )), row.names = c(NA, -5L), class = c("tbl_df", "tbl", "data.frame" ))
The I received has the following aspect.
I would like to receive for each different protein the median of each treatment, like this
So far I have been using the following :
df %>% tbl_summary(by = "Treatment") %>% add_p() %>% sort_p() %>% modify_header(label ~ "**Treatment**") %>% modify_spanning_header(c("stat_1", "stat_2") ~ "**Treatment Received at day = 8**") %>% bold_labels()
Thanks for any help Regards Andrea
You have to force tbl_summary
into treating your variables as continuous, otherwise, it will treat them as categorical, since there are too few distinct values (need at least 10 I think, according to the assign_summary_type
help page).
df %>% tbl_summary(by = Treatment,
type=list(everything()~"continuous")) %>%
add_p() %>%
sort_p() %>%
modify_header(label ~ "**Treatment**") %>%
modify_spanning_header(c("stat_1", "stat_2") ~ "**Treatment Received at day = 8**") %>%
bold_labels()