That subset will give you right truncation, not right censoring. See code below. Use Thomas's solution.
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:dwinsem...@comcast.net] Sent: Wednesday, November 20, 2013 5:49 PM To: Dr.Vinay Pitchika Cc: r-help@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 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.