[R] How to stop Kaplan-Meier curve at a time point
David Winsemius
dwinsemius at comcast.net
Thu Nov 21 20:56:11 CET 2013
On Nov 21, 2013, at 5:08 AM, Andrews, Chris wrote:
> That subset will give you right truncation, not right censoring. See code below. Use Thomas's solution.
I completely agree that my strategy was wrong. It inappropriately removed the long-lived cases from the riskset at earlier times so there would be an over-estimate of risk in proportion to the ratio of such cases to the entire population.
--
David.
>
> Chris
>
>
> library(survival)
> set.seed(20131121)
> ngroup <- 100
> xxx <- rep(0:1, e=ngroup)
> ttt <- rexp(length(xxx), rate=xxx+.5)
> plot(survfit(Surv(ttt) ~ xxx))
> survdiff(Surv(ttt) ~ xxx)
>
> # impose earlier stop time?
> tstop <- 2
> lines(survfit(Surv(ttt) ~ xxx, subset=ttt<tstop), col=2)
> survdiff(Surv(ttt) ~ xxx, subset=ttt<tstop)
>
> # censor at earlier stop time
> ddd <- ttt<tstop
> ttt2<- pmin(ttt, tstop)
>
> lines(survfit(Surv(ttt2, ddd) ~ xxx), col=3)
> survdiff(Surv(ttt2, ddd) ~ xxx)
> # green lines match black lines up to tstop
>
>
>
>
> -----Original Message-----
> From: David Winsemius [mailto:dwinsemius at comcast.net]
> Sent: Wednesday, November 20, 2013 5:49 PM
> To: Dr.Vinay Pitchika
> Cc: r-help at r-project.org
> Subject: Re: [R] How to stop Kaplan-Meier curve at a time point
>
>
> On Nov 20, 2013, at 12:01 PM, Dr.Vinay Pitchika wrote:
>
>> Hello R users
>>
>> I have a question with Kaplan-Meier Curve with respect to my research. We
>> have done a retrospective study on fillings in the tooth and their survival
>> in relation to the many influencing factors. We had a long follow-up time
>> (upto 8yrs for some variables). However, we decided to stop the analysis at
>> the 6year follow up time, so that we can have uniform follow-up time for
>> all the variables.
>>
>> I did play a bit with the formula and tried to stop the Kaplan-Meier curve
>> at my desired time (2190days)or roughly 6 years. However, my question is I
>> want to find the significance (log rank test) at this time point between
>> the two curves; because I am not able to find a way to stop the survfit at
>> this time point with my knowledge. Below is the code I used.
>>
>> Gender2<-survfit(Surv(Survival_days, Outcome)~Gender)
>
> I'm assuming that you have a dataframe with those variables and have attached it. If so, then:
>
> dfrm <- detach(said_df)
>
> # If not, then:
>
> dfrm <- data.frame(Survival_days, Outcome, Gender)
>
> Gender2<-survfit(Surv(Survival_days, Outcome)~Gender,
> data=dfrm, subset = Survival_days < 6*365.25 )
>
>>
>> plot (Gender2, xmax=2190, mark.time=FALSE, col=c(1:2), xlab="Survival time
>> (Days)", ylab="Survival probability", main="Gender") # mark.time=FALSE will
>> remove the censoring lines in the graph. If censoring lines are needed,
>> then remove the mark.time section in the formula.
>>
>> legend("topright",c("Females", "Males"), col=(1:2), lwd=0.5)
>>
>> Am sure, the code in the first line has to be modified. Please help me with
>> this and I will be very thankful to you.
>>
>
>
> David Winsemius
> Alameda, CA, USA
>
>
> **********************************************************
> Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues
>
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list