如何在 r 中执行对数秩检验
对数秩检验是比较两组之间生存曲线的最常见方法。
该测试使用以下假设:
H 0 :两组之间的生存率没有差异。
H A :两组之间的生存率存在差异。
如果检验的p 值低于一定的显着性水平(例如 α = 0.05),那么我们可以拒绝零假设并得出结论:有足够的证据表明两组之间的生存率存在差异。
要在 R 中执行对数秩测试,我们可以使用Survival包中的survdiff()函数,该函数使用以下语法:
survdiff(Surv(时间、状态) ~ 预测变量、数据)
此函数返回卡方检验统计量和相应的 p 值。
以下示例演示如何使用此函数在 R 中执行对数秩检验。
示例:R 中的对数秩检验
对于此示例,我们将使用生存包中的卵巢数据集。该数据集包含 26 名患者的以下信息:
- 被诊断患有卵巢癌后的生存时间(以月为单位)
- 生存时间是否被审查
- 接受的治疗类型(rx = 1 或 rx = 2)
以下代码显示如何显示此数据集的前六行:
library (survival) #view first six rows of dataset head(ovarian) futime fustat age resid.ds rx ecog.ps 1 59 1 72.3315 2 1 1 2 115 1 74.4932 2 1 1 3 156 1 66.4658 2 1 2 4 421 0 53.3644 2 2 1 5,431 1 50.3397 2 1 1 6 448 0 56.4301 1 1 2
以下代码显示如何执行对数秩检验以确定接受不同治疗的患者之间的生存率是否存在差异:
#perform log rank test
survdiff(Surv(futime, fustat) ~ rx, data=ovarian)
Call:
survdiff(formula = Surv(futime, fustat) ~ rx, data = ovarian)
N Observed Expected (OE)^2/E (OE)^2/V
rx=1 13 7 5.23 0.596 1.06
rx=2 13 5 6.77 0.461 1.06
Chisq= 1.1 on 1 degrees of freedom, p= 0.3
卡方检验统计量为1.1 ,自由度为 1,相应的 p 值为0.3 。由于该 p 值不小于 0.05,因此我们无法拒绝原假设。
换句话说,我们没有足够的证据表明两种治疗方法之间的生存率存在统计学上的显着差异。
我们还可以使用以下语法绘制每个组的生存曲线:
#plot survival curves for each treatment group plot(survfit(Surv(futime, fustat) ~ rx, data = ovarian), xlab = " Time ", ylab = “ Overall survival probability ”)
我们可以看到生存曲线略有不同,但对数秩检验告诉我们差异并不具有统计显着性。