通常情况下,在调用summary()
方法之前,包括p值在内的统计数据是不可用的。(直接调用res.cox
将返回一个p值,但可能存在一个不可见的summary
调用)
示例
library(survival)
res.cox <- coxph(Surv(time, status) ~ x + strata(sex), test1)
观察 str()
结构,可以发现只有 beta 值而没有统计数据。
str(res.cox)
在summary()
中,它们可以在"coefficients"
中找到。
str(summary(res.cox))
那么我们开始吧。
res.cox.sum <- summary(res.cox)$coefficients
您获得的对象是一个
"矩阵"
,因此可以像处理矩阵一样处理它。
class(res.cox.sum)
由于期望的p值在第五列中,所以请执行以下操作:
res.cox.sum[, 5]
简而言之:
summary(res.cox)$coefficients[, 5]
数据
test1 <- structure(list(time = c(4, 3, 1, 1, 2, 2, 3), status = c(1, 1,
1, 0, 1, 1, 0), x = c(0, 2, 1, 1, 1, 0, 0), sex = c(0, 0, 0,
0, 1, 1, 1)), class = "data.frame", row.names = c(NA, -7L))
broom::tidy(res.cox)
和glance
。使用基本的 R 语言summary(res.cox)[['coefficients']][,'Pr(>|z|)']
。 - A. Suliman