Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

gtsummary::tbl_summary gives different flavours of tables

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 wrong table I received has the following aspect.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

I would like to receive for each different protein the median of each treatment, like this desired

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

>Solution :

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()

enter image description here

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading