[R] Survival statistics--displaying multiple plots
Marc Schwartz
marc_schwartz at comcast.net
Thu May 3 06:18:03 CEST 2007
Greg,
I suspect that you want something like this:
Use the 'aml' dataset and create a 'meld' column with random values from
1:25:
library(survival)
set.seed(1)
aml$meld <- sample(25, 23, replace = TRUE)
> aml$meld
[1] 7 10 15 23 6 23 24 17 16 2 6 5 18 10 20 13 18 25 10 20 24 6
[23] 17
Now use cut() to create a 3 level factor from the values in 'meld':
aml$meld.grp <- cut(aml$meld, breaks = c(-Inf, 10, 20, Inf))
> aml$meld.grp
[1] (-Inf,10] (-Inf,10] (10,20] (20, Inf] (-Inf,10] (20, Inf]
[7] (20, Inf] (10,20] (10,20] (-Inf,10] (-Inf,10] (-Inf,10]
[13] (10,20] (-Inf,10] (10,20] (10,20] (10,20] (20, Inf]
[19] (-Inf,10] (10,20] (20, Inf] (-Inf,10] (10,20]
Levels: (-Inf,10] (10,20] (20, Inf]
Now, let's do the plot, grouping by 'meld.grp':
plot(survfit(Surv(time, status) ~ meld.grp, data = aml),
col = 1:3, legend.text = levels(aml$meld.grp),
legend.pos = 1)
If this is close, see ?cut for creating a factor from a continuous
vector.
You can of course further tweak the plot aesthetics as you desire.
HTH,
Marc Schwartz
On Wed, 2007-05-02 at 23:14 -0400, Gregory Pierce wrote:
> I should clarify. I can generate plots for each category individually but
> not for all three on the same chart.
>
> Greg
>
> -----Original Message-----
> From: Gregory Pierce [mailto:pierce.gregory at gmail.com]
> Sent: Wednesday, May 02, 2007 10:21 PM
> To: 'r-help at stat.math.ethz.ch'
> Subject: Survival statistics--displaying multiple plots
>
> Hello all!
>
> I am once again analyzing patient survival data with chronic liver disease.
>
> The severity of the liver disease is given by a number which is continuously
> variable. I have referred to this number as "meld"--model for end stage
> liver disease--which is the result of a mathematical calculation on
> underlying laboratory values. So, for example, I can generate a Kaplan-Meier
> plot of patients undergoing a TIPS procedure with the following:
>
> >plot(survfit(Surv(days,status==1),subset(tips,meld<10))
>
> where "tips" is my data set, "days" is the number of days alive, and meld is
> the meld score.
>
> What I would like to do is display the survival graphs of patients with
> meld<10, 10<meld<20, and meld>20. I am unsure about how to go about this.
>
> Any suggestions would be appreciated.
>
> Greg
>
> ______________________________________________
> R-help at stat.math.ethz.ch 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.
More information about the R-help
mailing list