이것이 올바른 방법 (구매자가주의)인지 확실하지 않지만 여기서는 survival
패키지의 예제 데이터로 포함 된 aml
데이터 세트를 사용한 예입니다. time=20
를 들어, 결과
library(survival)
amlsurv <- with(aml,survfit(Surv(time,status) ~ x))
summary(amlsurv ,time=20)
:
Call: survfit(formula = Surv(time, status) ~ x)
x=Maintained
time n.risk n.event
20.000 7.000 3.000 ...
x=Nonmaintained
time n.risk n.event
20.000 6.000 5.000 ...
이러한 옵션을 모두 survdiff
기능을 사용하여 실패 :
survdiff(summary(aml,time=20))
survdiff(aml,time=20)
이제 수동 이십일에 제한하려고 :
aml$status.20 <- aml$status
# set 'deaths' with a time greater than 20 to be 'survivors'
aml$status.20[aml$status == 1 & aml$time > 20] <- 0
amlsurv <- (Surv(aml$time,aml$status.20) ~ aml$x)
summary(survfit(amlsurv))
# results are the same as above, Maintained=3 events,Nonmaintained=5 events
이제 두 그룹을 비교하는 20 일 제한에 대한 결과를 얻을 수 있습니다 :
survdiff(amlsurv)
Call:
survdiff(formula = amlsurv)
N Observed Expected (O-E)^2/E (O-E)^2/V
aml$x=Maintained 11 3 4.3 0.392 0.874
aml$x=Nonmaintained 12 5 3.7 0.455 0.874
Chisq= 0.9 on 1 degrees of freedom, p= 0.35
감사합니다! 나는 앞으로 나아가 그것을 해결하기 위해 커스텀 함수를 작성하려고 시도했다. 그러나 나는 또한 실수를 저 지르려고 조심했습니다. 일단 내가 일하러 나가면 내가 얻고있는 것과 일관성이 있는지이 방법을 확인해 볼 것입니다. – user1760436