gpt4 book ai didi

gtsummary - 为什么函数 "round"对 p 值的数字不起作用?以及如何使用 "gtsummary"调整汇总表中的百分比数字?

转载 作者:行者123 更新时间:2023-12-05 02:54:46 28 4
gpt4 key购买 nike

当我创建一个“自定义 pvalue 函数到 add_p()”时,我试图调整 p 值的位数,但发现函数“round”不起作用。 (参见代码“result$p <- round(result$p, 3)”)

此外,我发现我无法更改汇总表中计数百分比的数字。


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

enter image description here

最佳答案

首先,我能否称赞一下您构建的表格:给我留下了深刻的印象!

要更改表中 p 值的格式,请使用 add_p(pvalue_fmt=) 参数传递一个函数。该函数应采用数字向量,并返回格式化/舍入的字符向量。

要修改格式百分比,请使用 tbl_summary(digits=) 参数。

下面的例子!

library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.4.2'

tbl <-
trial %>%
dplyr::select(trt, age, grade) %>%
tbl_summary(
by = trt,
# show percentages to 1 decimal place
digits = all_categorical() ~ c(0, 1)
) %>%
# rounding p-values to 3 decimal places
add_p(pvalue_fun = function(x) style_number(x, digits = 3))

enter image description herereprex package 创建于 2021-07-23 (v2.0.0)

关于gtsummary - 为什么函数 "round"对 p 值的数字不起作用?以及如何使用 "gtsummary"调整汇总表中的百分比数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61638996/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com