[R] Draw a nomogram after glm

Frank Harrell f.harrell at vanderbilt.edu
Fri May 6 20:30:00 CEST 2011


Don't attach the Design package.  Use only rms.  Please provide the output of
lrm (print the f object).  With such a strong model make sure you do not
have a circularity somewhere.  With nomogram you can specify ranges for the
predictors; default is 10th smallest to 10th largest.

rms will not make customized nomograms such as the one you included.

Frank


Hi all R users, 
Thanks Frank for your advices
In fact I posted all my script. In the R Help, the script for nomogram is
long and I took only the part what I think interesting in my case. 
I use informations from( datadist {Design} and rms {rms}) in the help of R
software to do my code.  
I see that I progress with my nomogram. Because with the following code
where I put  my real variables names: 

library(Design)
library(rms)
d <- datadist(Fire)
options(datadist='d')
f<-lrm(Ignition~FMC+Charge,data=Fire)
summary(f,FMC=c(0,506.40),Charge=c(45,646)) # min and max of FMC: 0 ,506.40
and the min and max of Charge: 45, 646 
plot(Predict(f,FMC=0:506.40,Charge=646))
plot(nomogram(f, interact=list(Charge= c(.2,.7)))) # sorry, not understand
vector c(.2,.7) from R help  

As result, I have the figure 1 then figure 2 but there is a problem. Because
the 3rd line of Figure 2  "Charge" must to go 0 until 650. 
Also the linear predictor must to go 0 until 1. 
http://r.789695.n4.nabble.com/file/n3503828/nomo.jpeg 
http://r.789695.n4.nabble.com/file/n3503828/nomogram.jpeg 
After, is it possible to draw my nomogram like the 3rd graph that I found in
Internet, it is easier to understand.
http://r.789695.n4.nabble.com/file/n3503828/nogramme.bmp 
Nb: I  Apologize for my bad english
Thanks for your help
Komine 
PhD student 
Dakar _Sénégal
West Africa  

Komine wrote:
> 
> Hi all R users 
> I did a logistic regression with my binary variable Y (0/1) and 2
> explanatory variables.
> Now I try to draw my nomogram with predictive value. I visited the help of
> R but I have problem to understand well the example. When I use glm
> fonction, I have a problem, thus I use lrm. My code is: 
> modele<-lrm(Y~L+P,data=donnee)
> fun<- function(x) plogis(x-modele$coef[1]+modele$coef[2])
> f <- Newlabels(modele,c(L="poids",P="taille"))  
> nomogram(f, fun=list('Prob Y<=1'=plogis), 
>  fun.at=c(seq(0,1,by=.1),.95,.99),
>          lmgp=.1, cex.axis=.6)
>          fun.at=c(.01,.05,seq(.1,.9,by=.1),.95,.99),
>          lmgp=.2, cex.axis=.6)
> options(Fire=NULL)
> Result is bad and I have this following error message:
> Erreur dans value.chk(at, i, NA, -nint, Limval, type.range = "full") : 
>   variable L does not have limits defined by datadist
> 
> Could you help me on the code to draw nomogram. 
> Nb: my English is low, I apologize.
> Thank for your help
> Komine
> 

Komine wrote:
> 
> Hi all R users 
> I did a logistic regression with my binary variable Y (0/1) and 2
> explanatory variables.
> Now I try to draw my nomogram with predictive value. I visited the help of
> R but I have problem to understand well the example. When I use glm
> fonction, I have a problem, thus I use lrm. My code is: 
> modele<-lrm(Y~L+P,data=donnee)
> fun<- function(x) plogis(x-modele$coef[1]+modele$coef[2])
> f <- Newlabels(modele,c(L="poids",P="taille"))  
> nomogram(f, fun=list('Prob Y<=1'=plogis), 
>  fun.at=c(seq(0,1,by=.1),.95,.99),
>          lmgp=.1, cex.axis=.6)
>          fun.at=c(.01,.05,seq(.1,.9,by=.1),.95,.99),
>          lmgp=.2, cex.axis=.6)
> options(Fire=NULL)
> Result is bad and I have this following error message:
> Erreur dans value.chk(at, i, NA, -nint, Limval, type.range = "full") : 
>   variable L does not have limits defined by datadist
> 
> Could you help me on the code to draw nomogram. 
> Nb: my English is low, I apologize.
> Thank for your help
> Komine
> 

Komine wrote:
> 
> Hi all R users 
> I did a logistic regression with my binary variable Y (0/1) and 2
> explanatory variables.
> Now I try to draw my nomogram with predictive value. I visited the help of
> R but I have problem to understand well the example. When I use glm
> fonction, I have a problem, thus I use lrm. My code is: 
> modele<-lrm(Y~L+P,data=donnee)
> fun<- function(x) plogis(x-modele$coef[1]+modele$coef[2])
> f <- Newlabels(modele,c(L="poids",P="taille"))  
> nomogram(f, fun=list('Prob Y<=1'=plogis), 
>  fun.at=c(seq(0,1,by=.1),.95,.99),
>          lmgp=.1, cex.axis=.6)
>          fun.at=c(.01,.05,seq(.1,.9,by=.1),.95,.99),
>          lmgp=.2, cex.axis=.6)
> options(Fire=NULL)
> Result is bad and I have this following error message:
> Erreur dans value.chk(at, i, NA, -nint, Limval, type.range = "full") : 
>   variable L does not have limits defined by datadist
> 
> Could you help me on the code to draw nomogram. 
> Nb: my English is low, I apologize.
> Thank for your help
> Komine
> 

Komine wrote:
> 
> Hi all R users 
> I did a logistic regression with my binary variable Y (0/1) and 2
> explanatory variables.
> Now I try to draw my nomogram with predictive value. I visited the help of
> R but I have problem to understand well the example. When I use glm
> fonction, I have a problem, thus I use lrm. My code is: 
> modele<-lrm(Y~L+P,data=donnee)
> fun<- function(x) plogis(x-modele$coef[1]+modele$coef[2])
> f <- Newlabels(modele,c(L="poids",P="taille"))  
> nomogram(f, fun=list('Prob Y<=1'=plogis), 
>  fun.at=c(seq(0,1,by=.1),.95,.99),
>          lmgp=.1, cex.axis=.6)
>          fun.at=c(.01,.05,seq(.1,.9,by=.1),.95,.99),
>          lmgp=.2, cex.axis=.6)
> options(Fire=NULL)
> Result is bad and I have this following error message:
> Erreur dans value.chk(at, i, NA, -nint, Limval, type.range = "full") : 
>   variable L does not have limits defined by datadist
> 
> Could you help me on the code to draw nomogram. 
> Nb: my English is low, I apologize.
> Thank for your help
> Komine
> 


-----
Frank Harrell
Department of Biostatistics, Vanderbilt University
--
View this message in context: http://r.789695.n4.nabble.com/Draw-a-nomogram-after-glm-tp3498144p3503857.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list