我用的是R生存包,survdiff函数。我想知道如何从返回值中得到p值。
> diff = survdiff(Surv(Time, Censored) ~ Treatment+Gender, data = dat)
> diff
Call:
survdiff(formula = Surv(Time, Censored) ~ Treatment + Gender,
data = dat)
N Observed Expected (O-E)^2/E (O-E)^2/V
Treatment=Control, Gender=M 2 1 1.65 0.255876 0.360905
Treatment=Control, Gender=F 7 3 2.72 0.027970 0.046119
Treatment=IND, Gender=M 5 2 2.03 0.000365 0.000519
Treatment=IND, Gender=F 6 2 1.60 0.100494 0.139041
Chisq= 0.5 on 3 degrees of freedom, p= 0.924
我想用一些函数得到p值0.924,谢谢。
3条答案
按热度按时间iq3niunx1#
p值不存储在survdiff类中,因此必须在输出时动态计算。要重现p值,可以使用chisq分布函数:“pchisq”
fquxozlt2#
函数
print.survdiff
中显示p值的代码为:引导它的代码:
并且参数列表中的“digits”设置为3,因此使用
surv.diff
帮助页面上的示例:回应评论:在该示例中,第二码块简化为:
ncgqoxb03#
使用
broom
包中的glance()
函数,可以非常容易地获得p.value。