以下例子为使用gtsummary做spearman相关,其他可同理
利用gtsummary自定义汇总表tbl_custom_summary()函数
# 示例中,vars为所有自变量,`SUA`为因变量,数据集为ds
# vars <- c("age","BMI")
fun_spearman_r <- function(data, variable, ...) {
r = cor.test(data[[variable]],data$`SUA`,method = "spearman")$estimate
dplyr::tibble(r = r)
}
# 此处tibble(r=r)很必要
fun_spearman_p <- function(data, variable, ...) {
cor.test(data[[variable]],data$`SUA`,method = "spearman")$p.value
}
# p不需要(p=p),因为r为主体自定义函数,p为add_stat
ds[vars]<- sapply(ds[vars],as.numeric)
tbl_custom_summary_ex <- ds %>%
select(all_of(vars),SUA) %>%
tbl_custom_summary(include = all_of(vars),
stat_fns = everything() ~ fun_spearman_r,
statistic = everything() ~ "{r}",
digits = everything() ~ 3, # 保留3位小数