[R] calibration curve for cph()
David Winsemius
dwinsemius at comcast.net
Tue Aug 16 20:27:20 CEST 2011
On Aug 16, 2011, at 1:57 PM, array chip wrote:
> Dear Frank,
>
> Thanks for suggesting val.surv() function from rms package. It's
> exactly what I need. I tried the example on the help page and tweak
> towards to my situation, but got an error message. Could you
> suggestion what went wrong?
It is interesting that neither my mail client nor the archives show
the code that was sent to nabble.
For posterity it was
require(rms)
?val.surv
>
> library(rms)
> set.seed(123) # so can reproduce results
> n <- 1000
> age <- 50 + 12*rnorm(n)
> sex <- factor(sample(c('Male','Female'), n, rep=TRUE, prob=c(.6, .4)))
> cens <- 15*runif(n)
> h <- .02*exp(.04*(age-50)+.8*(sex=='Female'))
> t <- -log(runif(n))/h
> units(t) <- 'Year'
> label(t) <- 'Time to Event'
> ev <- ifelse(t <= cens, 1, 0)
> t <- pmin(t, cens)
> S <- Surv(t, ev)
>
>
>
> f <- cph(S ~ age + sex, x=TRUE, y=TRUE)
> val.surv(f, newdata=data.frame(age,sex), S=S, u=5) ## pretend the
> same training data as the independent dataset
Unable to reproduce. I get sensible output. You may need to post
sessionInfo(). Do you have all the dependencies installed? I noticed
that even after rms was loaded with messages about also loading
Hmisc, survival, and splines, that there was a further message saying
polspline was being loaded.
> Error in val.surv(f, newdata = data.frame(age, sex), S = S, u = 5) :
> unused argument(s) (u = 5)
>
--
david.
> sessionInfo()
R version 2.13.1 RC (2011-07-03 r56263)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/C/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] splines stats graphics grDevices utils datasets
methods base
other attached packages:
[1] polspline_1.1.5 rms_3.3-1 Hmisc_3.8-3 survival_2.36-9
[5] TTR_0.20-3 xts_0.8-0 zoo_1.6-5 sos_1.3-0
[9] brew_1.0-6 lattice_0.19-30
loaded via a namespace (and not attached):
[1] cluster_1.14.0 grid_2.13.1 tools_2.13.1
>
> ----- Original Message -----
> From: Frank Harrell <f.harrell at vanderbilt.edu>
> To: r-help at r-project.org
> Cc:
> Sent: Tuesday, August 16, 2011 4:23 AM
> Subject: Re: [R] calibration curve for cph()
>
>
>
> David Winsemius wrote:
>>
>> A combination of Predict (your newdata), cut2, and the plotting
>> function
>> of your choice ought to suffice. But thought that cross-validation
>> was an
>> option. Not at console at the moment (just off airplane.)
>>
>> Sent from my iPhone
>>
>> On Aug 15, 2011, at 5:26 PM, array chip
>> <arrayprofile at yahoo.com>
>> wrote:
>>
>>> is there a R function that produces calibration curve on an
>>> independetn
>>> data automatically, just like what calibrate() does on the
>>> training data
>>> itself?
>>>
>>> Thanks
>>>
>>> John
>>>
>>> From: Comcast <dwinsemius at comcast.net>
>>> To: array chip <arrayprofile at yahoo.com>
>>> Cc: "r-help at r-project.org" <r-help at r-project.org>
>>> Sent: Monday, August 15, 2011 2:04 PM
>>> Subject: Re: [R] calibration curve for cph()
>>>
>>> Build a prediction function using 'Function' that gets applied to
>>> set2.
>>> Calibrate and validate.
>>>
>>> --
>>> David
>>>
>>> Sent from my iPhone
>>>
>>> On Aug 15, 2011, at 11:31 AM, array chip
>>> <arrayprofile at yahoo.com>
>>> wrote:
>>>
>>>> Hi, the calibrate.cph() function in rms package generate
>>>> calibration
>>> curve for Cox model on the same dataset where the model was
>>> derived using
>>> bootstrapping or cross-validation. If I have the model built on
>>> dataset
>>> 1, and now I want to produce a calibration curve for this model on
>>> an
>>> independent dataset 2, how can I do that?
>>>>
>>>> Thanks
>>>>
>>>> John
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list