我从以前发表的数据中重新运行Kaplan-Meier生存曲线,使用出版物中使用的确切数据集(Charpentier等人。2008年的今天,环尾狐猴(Lemur Catta)的近亲繁殖衰退:遗传多样性预测寄生、免疫能力和存活率)。这份出版物运行了SAS9版本中的曲线,使用寿命测试来分析由动物的遗传杂合性和性别构成的死亡年龄(n=64)。她报告的卡方值为6.31,p值为0.012;然而,当我在R中运行曲线时,我得到的卡方值为0.9,p值为0.821。有人能解释这个吗??
使用的R代码:年龄是死亡时间,mort是审查代码,性别是性别的层次,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" ...发布于 2014-05-10 23:56:21
一些想法:
尝试在SAS中运行它--看看您是否会得到与作者相同的结果。也许他们没有发送给你他们使用的完全相同的数据集。
查看相关SAS PROC的默认值,并与您正在使用的R函数的默认值进行比较。
发布于 2019-07-16 00:02:57
考虑到SAS程序和R程序之间用于生存分析的卡方(6.81和0.9)和P值(0.012和0.821)之间的巨大差异,我怀疑您在这两个程序中都使用了错误的变量。
过程差异/( SAS和R之间的数据处理差异可能会导致一些非常小的差异)。
这不是软件错误,这很可能是人为错误。
https://stackoverflow.com/questions/22821653
复制相似问题