我试图为不同变量(连续的、分类的)按组分层的描述性统计数据创建一个表。例如,dataset我使用来自生存包的“肺”数据集:
library(survival)
library(table1)
mydata = survival::lung
mydata$sex <- as.factor(mydata$sex)
t1 <- table1(~ age + ph.ecog + ph.karno | sex, data = mydata, overall = FALSE)
t1
对于连续变量,我想得到以下特性:
。
目前,最小,最大的报告在[]后面的中位数。
可以自定义这个table1函数吗?我在文件里找不到线索..。
谢谢!
发布于 2021-10-15 04:54:35
多亏了Bloxx,我在这里找到了解决方案:
参数是render.continuous函数中的“tablet1”。
谢谢!
发布于 2022-06-29 13:01:53
render.NEW <- function(x, name, data2, ...) {
MIN <- min(x, na.rm = T)
MAX <- max(x, na.rm = T)
median <- median(x, na.rm = T)
Q1 <- quantile(x, 0.25, na.rm = T)
Q3 <- quantile(x, 0.75, na.rm = T)
N = length(x) - sum(is.na(x))
out <- c("",
"[min, max]" = paste0("[", sprintf("%.2f", MIN), ", ", sprintf("%.2f", MAX), "]"),
"Median [Q1, Q3]" = paste0(sprintf("%.2f", median), " [", sprintf("%.2f", Q1), ", ", sprintf("%.2f", Q3), "]"),
"N" = N)
out
}
table1(~ age + ph.ecog + ph.karno | sex, data = mydata, overall = FALSE,
render = render.NEW)
https://stackoverflow.com/questions/69580912
复制