When I was creating a " custom pvalue function to add_p()" , I tried to adjust the digits of p-value but found that the function "round" dose not work. (see the code "result$p <- round(result$p, 3)")
Besides, I found I can not change the digits of the percentage of counts numbers in the summary table.
ttest1 <- function(data, variable, by, ...) {
result <- list()
result$p <- stats::t.test(data[[variable]] ~ data[[by]])$statistic
result$p <- round(result$p, 3)
result$test <- "t test"
result
}
ttest2 <- function(data, variable, by, ...) {
result <- list()
result$p <- stats::t.test(data[[variable]] ~ data[[by]])$p.value
result$p <- round(result$p, 3)
result$test <- "t test"
result
}
add_p_ex1 <-trial[c("age","grade", "response", "trt")] %>%
tbl_summary(by = trt,
statistic = list(all_continuous() ~ "{mean} ± {sd}",
all_categorical() ~ "{n} ({p})"),
digits = list(all_continuous() ~ c(2, 2))) %>%
add_p(test = list(all_continuous() ~ "ttest1", all_categorical() ~ "chisq1")) %>%
modify_header(p.value = md("**t/X2**"))
add_p_ex2 <-
tbl_summary(by = trt,
statistic = list(all_continuous() ~ "{mean} ± {sd}",
all_categorical() ~ "{n} ({p})"),
digits = list(all_continuous() ~ c(2, 2))) %>%
add_p(test = list(all_continuous() ~ "ttest1", all_categorical() ~ "chisq2"))
tbl_merge(list(add_p_ex1, add_p_ex2)) %>%
as_gt(include = -tab_spanner) %>%
cols_hide(columns = vars(stat_1_2, stat_2_2))

