6

我正在从以前发布的数据中重新运行 Kaplan-Meier 生存曲线,使用该出版物中使用的确切数据集(Charpentier 等人,2008 - 环尾狐猴 (Lemur catta) 的近交衰退:遗传多样性预测寄生性、免疫能力和幸存者)。该出版物使用 LIFETEST 运行 SAS 版本 9 中的曲线,以分析由遗传杂合性和动物性别构成的死亡年龄(n=64)。她报告的卡方值为 6.31,ap 值为 0.012;但是,当我在 R 中运行曲线时,我得到的卡方值为 0.9,ap 值为 0.821。谁能解释一下这个??

使用的 R 代码:Age 是死亡时间,mort 是审查代码,sex 是性别阶层,ho2 是划分要比较的两组的因素。

> survdiff(Surv(age, mort1)~ho2+sex,data=mariekmsurv1)
Call:
survdiff(formula = Surv(age, mort1) ~ ho2 + sex, data = mariekmsurv1)

              N Observed Expected (O-E)^2/E (O-E)^2/V
ho2=1, sex=F 18        3     3.23    0.0166    0.0215
ho2=1, sex=M 12        3     2.35    0.1776    0.2140
ho2=2, sex=F 17        5     3.92    0.3004    0.4189
ho2=2, sex=M 17        4     5.50    0.4088    0.6621

Chisq= 0.9  on 3 degrees of freedom, p= 0.821 


> str(mariekmsurv1)
'data.frame':   64 obs. of  6 variables:
 $ id   : Factor w/ 65 levels "","aeschylus",..: 14 31 33 30 47 57 51 39 36 3 ...
 $ sex  : Factor w/ 3 levels "","F","M": 3 2 3 2 2 2 2 2 2 2 ...
 $ mort1: int  0 0 0 0 0 0 0 0 0 0 ...
 $ age  : num  0.12 0.192 0.2 0.23 1.024 ...
 $ sex.1: Factor w/ 3 levels "","F","M": 3 2 3 2 2 2 2 2 2 2 ...
 $ ho2  : int  1 1 1 2 1 1 1 1 1 2 ...
- attr(*, "na.action")=Class 'omit'  Named int [1:141] 65 66 67 68 69 70 71 72 73 74 ...
  .. ..- attr(*, "names")= chr [1:141] "65" "66" "67" "68" ...
    
4

2 回答 2

0

一些想法:

尝试在 SAS 中运行它——看看你是否得到与作者相同的结果。也许他们没有向您发送他们使用的完全相同的数据集。

查看相关 SAS PROC 的默认值,并与您正在使用的 R 函数的默认值进行比较。

于 2014-05-10T15:56:20.577 回答
0

鉴于 SAS 程序和生存分析 R 程序之间的卡方(6.81 和 0.9)和 P 值(0.012 和 0.821)之间存在巨大差异;我怀疑您在任一程序中都使用了错误的变量。

程序差异 /(SAS 和 R 之间的数据处理差异可能会导致一些非常小的差异)。

这不是软件错误,这很可能是人为错误。

于 2019-07-15T16:02:57.273 回答