On 05/20/2010 01:42 AM, Marc Carpentier wrote:
Thank you for your responses, but I don't think you're right about the doc...
I carefully looked at it before posting and ran the examples, looked in 
Vanderbilt Biostat doc, and just looked again example(nomogram) :
1st example : categorical*continous : two axes for each sex
f<- lrm(y ~ lsp(age,50)+sex*rcs(cholesterol,4)+blood.pressure)

Hi Marc,

My apologies; I misread my own example. This will take some digging into the code. If you have time to do this before I do, code change suggestions welcomed.

Frank



2nd : continous*continous : one "age" axe for each specified value of 
cholesterol
g<- lrm(y ~ sex + rcs(age,3)*rcs(cholesterol,3))

3rd and 4th : categorical*continous : two axes for each sex (4th with fun)
f<- psm(Surv(d.time,death) ~ sex*age, dist='lognormal')

5th : categorical*continous : two axes for each sex (with fun)
g<- lrm(Y ~ age+rcs(cholesterol,4)*sex)

I'm desperately trying to represent a case of categorical*(continous+continous) 
:
f2<- cph(Surv(d.time,death) ~ sex*(rcs(cholesterol,4)+blood.pressure)
The best solution I can think of is to draw one nomogram for each sex :
Assuming 'male' is the ref level of sex :
1st nomogram : one axe for rcs(cholesterol,4), one axe for blood.pressure
2nd nomogram : one axe for sex:rcs(cholesterol,4), one axe for 
sex:blood.pressure, both shifted because of the sex own effect.
(I badly draw it in my previous mail)
I didn't see any example of this "adjustement" of nomogram to 'male' or 
'female'...

I hope I gave a clearer explanation and I'm not wrong about this unmentioned 
case.

Marc




----- Message d'origine ----
De : Frank E Harrell Jr<f.harr...@vanderbilt.edu>
À : Marc Carpentier<marc.carpent...@ymail.com>
Cc : r-help-request Mailing List<r-help@r-project.org>
Envoyé le : Jeu 20 mai 2010, 0h 55min 32s
Objet : Re: Re : [R] Nomogram with multiple interactions (package rms)

On 05/19/2010 04:36 PM, Marc Carpentier wrote:
I'm sorry. I don't understand the "omit" solution, and maybe I mislead you with 
my explanation.

With the data from the "f" exemple of nomogram() :
Let's declare :
f2<- cph(Surv(d.time,death) ~ sex*(age+blood.pressure))
I guess the best (and maybe the only) way to represent it with a nomogram is to 
plot two nomograms (I couldn't find better).
Is there a way to have :

Nomogram1 : "male" :
- points 1-100 ---------------
- age ("men") ---------------
- blood.pressure ("men") ---------------
- linear predictor ---------------

And nomogram2 : "female" :
- points 1-100 ---------------
- age ("female") ---------------
- blood.pressure ("female") ---------------
- linear predictor ---------------

As I said I tried and failed (nomogram() still wants me to define
interact=list(...)) with :
plot(nomorgam(f2, adj.to=list(sex="male")) #and "female" for the other one

Marc

I think the documentation tells you how to do this.  But you failed to
look at the output from example(nomogram).  In one of the examples two
continuous predictors have two axes each, with male and female in close
proximity.  Or maybe I'm just missing your point.

Frank




----- Message d'origine ----
De : Frank E Harrell Jr<f.harr...@vanderbilt.edu>
À : Marc Carpentier<marc.carpent...@ymail.com>; r-help-request Mailing 
List<r-help@r-project.org>
Envoyé le : Mer 19 mai 2010, 22h 28min 51s
Objet : Re: [R] Nomogram with multiple interactions (package rms)

On 05/19/2010 03:17 PM, Marc Carpentier wrote:
Dear list, I'm facing the following problem : A cox model with my sex
variable interacting with several continuous variables :
cph(S~sex*(x1+x2+x3)) And I'd like to make a nomogram. I know it's a
bit tricky and one mights argue that nomogram is not a good a
choice... I could use the parameter
interact=list(sex=("male","female"),x1=c(a,b,c))... but with rcs or
pol transformations of x1, x2 and x3, the choice of the
categorization (a,b,c,...) is arbitrary and the nomogram not so
useful... Considering that sex is the problem, I thought I could draw
two nomograms, one for each sex... based on one model. These would be
great. Do you think it's possible ?

Yes, you can specify constant predictors not to draw with the omit=
argument.  But try first to draw everything.  Shouldn't you just get 2
axes each for x1 x2 x3?


Taking the exemple of the help of nomogram() (package "rms") : f<-
psm(Surv(d.time,death) ~ sex*age, dist=if(.R.)'lognormal' else
'gaussian')

Drop the if(.R.) which was just corrected in the documentation.  Use
dist='lognormal'

Frank


Let's add the previously defined blood.pressure effect with an
interaction with sex too (with cph) : f2<- cph(Surv(d.time,death) ~
sex*(age+blood.pressure))

I thought of the parameter adt.to : plot(nomorgam(f2,
adj.to=list(sex="male")) #and "female" for the other one

But nomogram() still wants me to define interact=list(...) Thanks for
any advice you might have (with adj.to or any alternative...)

Marc Carpentier







--
Frank E Harrell Jr   Professor and Chairman        School of Medicine
                     Department of Biostatistics   Vanderbilt University

______________________________________________
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.

Reply via email to