【发布时间】:2019-02-01 03:18:58
【问题描述】:
我收到了一位审阅者的评论,他希望在人口统计特征表(表 1)中包含每行特定变量级别的所有 p 值。尽管这个请求在我看来很奇怪(而且不准确),但我还是同意他的建议。
library(tableone)
## Load data
library(survival); data(pbc)
# drop ID from variable list
vars <- names(pbc)[-1]
## Create Table 1 stratified by trt (can add more stratifying variables)
tableOne <- CreateTableOne(vars = vars, strata = c("trt"), data = pbc, factorVars = c("status","edema","stage"))
print(tableOne, nonnormal = c("bili","chol","copper","alk.phos","trig"), exact = c("status","stage"), smd = TRUE)
我需要有变量status、edema 和stage 的每个级别的 p 值,并进行 Bonferroni 校正。我通过documentation 没有成功。
此外,使用卡方比较跨行的样本大小是否正确?
更新:
我不确定我的方法是否正确,但我想与您分享。我为变量 status 为每个层生成了一个虚拟变量,而不是计算 chisq 。
library(tableone)
## Load data
library(survival); data(pbc)
d <- pbc[,c("status", "trt")]
# Convert dummy variables
d$status.0 <- ifelse(d$status==0, 1,0)
d$status.1 <- ifelse(d$status==1, 1,0)
d$status.2 <- ifelse(d$status==2, 1,0)
t <- rbind(
chisq.test(d$status.0, d$trt),
# p-value = 0.7202
chisq.test(d$status.1, d$trt),
# p-value = 1
chisq.test(d$status.2, d$trt)
#p-value = 0.7818
)
t
用于多重比较的 BONFERRONI ADJ:
p <- t[,"p.value"]
p.adjust(p, method = "bonferroni")
【问题讨论】:
标签: r statistics comparison p-value demographics