【发布时间】:2019-03-01 13:07:59
【问题描述】:
注意 - 我指的是“table1”函数,而不是“tableOne”
您可能知道 table1 包通过将一些变量与所有其他变量(例如男性与女性的数量 - 吸烟、吸毒等)汇总到表中。
关于 table1 函数的非常好的指南。
https://cran.r-project.org/web/packages/table1/vignettes/table1-examples.html
在上面链接站点的最低部分,您可以看到作者使用技巧制作 p 值列,因为该命令未内置到 table1 中。问题是他的代码没有问题,因为他只处理“男性”和“女性”(2个变量)。我试图用4个变量来做。
我正在安装它,所以它可以使用我的变量,我得到错误并需要帮助
错误
"参数不是数字或逻辑:在因子 x 上返回 NACalling var(x) 已被弃用,并将成为错误。 使用类似 'all(duplicated(x)[-1L])' 的东西来测试一个常量向量。 if (stderr
a <- c(0,13.3,14.0,14.7,15.8,999.0)
dat1$RDWquintiles<-cut(dat1$RDW_pre,a,include.lowest = TRUE)
z <- levels(dat1$RDWquintiles)
dat1$RDWquintiles <- factor(dat1$RDWquintiles,levels=c(z,factor("P-value")),labels=c("0,13.3","13.3,14","14,14.7","14.7,15.8","15.8,999","P-values" ))
dat1$RDWquintiles
table(dat1$RDWquintiles)
rndr <- function(x, name, ...) {
if (length(x) == 0) {
y <- dat1[[name]]
s <- rep("", length(render.default(x=y, name=name, ...)))
if (is.numeric(y)) {
p <- t.test(y, dat1$RDWquintiles)$p.value
} else {
p <- chisq.test(table(y, droplevels(dat1$RDWquintiles)))$p.value
}
s[2] <- sub("<", "<", format.pval(p, digits=3, eps=0.001))
s
} else {
render.default(x=x, name=name, ... ,)
}
}
rndr.strat <- function(label, n, ...) {
ifelse(n==0, label, render.strat.default(label, n, ...))
}
table1(~ Age + Sex + LOS + Open + adm_PE |RDWquintiles,data=dat1, droplevels=F, render=rndr, render.strat=rndr.strat, overall=F)
【问题讨论】:
标签: r statistics p-value