[R] Troubles plotting lrm output in Design Library
Patrizio Frederic
frederic.patrizio at gmail.com
Thu May 29 16:19:42 CEST 2008
dear Harrell,
thank you for quick reply and suggestions. I still have the problem:
library(Design)
x = rnorm(100)
y = runif(100)<(exp(x)/(1+exp(x)))
y = 0*y+1*y
d = datadist(x,y)
options(datadist="d")
fit = lrm(y~x)
# works fine, but
plot(fit) #produce the error message
Error in value.chk(at, ix, xseq, if (plot.type == "curves") 100 else 40, :
variable x does not have limits defined by datadist
The installed Design (ver. 2.1.1) package was downloaded and installed
via utils:::menuInstallPkgs() function
(Package Hmisc version 3.4-3) on a windows xp machine.
Thank in advance.
Patrizio Frederic
version
platform i386-pc-mingw32
arch i386
os mingw32
system i386, mingw32
status
major 2
minor 7.0
year 2008
month 04
day 22
svn rev 45424
language R
version.string R version 2.7.0 (2008-04-22)
2008/5/29 Frank E Harrell Jr <f.harrell at vanderbilt.edu>:
> Patrizio Frederic wrote:
>>
>> Dear R-helpers,
>> I'm having a problem in using plot.design in Design Library. Tho
>> following example code produce the error:
>>
>>> n <- 1000 # define sample size
>>> set.seed(17) # so can reproduce the results
>>> age <- rnorm(n, 50, 10)
>>> blood.pressure <- rnorm(n, 120, 15)
>>> cholesterol <- rnorm(n, 200, 25)
>>> sex <- factor(sample(c('female','male'), n,TRUE))
>>> label(age) <- 'Age' # label is in Hmisc
>>> label(cholesterol) <- 'Total Cholesterol'
>>> label(blood.pressure) <- 'Systolic Blood Pressure'
>>> label(sex) <- 'Sex'
>>> units(cholesterol) <- 'mg/dl' # uses units.default in Hmisc
>>> units(blood.pressure) <- 'mmHg'
>>>
>>> # Specify population model for log odds that Y=1
>>> L <- .4*(sex=='male') + .045*(age-50) +
>>
>> + (log(cholesterol - 10)-5.2)*(-2*(sex=='female') + 2*(sex=='male'))
>>>
>>> # Simulate binary y to have Prob(y=1) = 1/[1+exp(-L)]
>>> y <- ifelse(runif(n) < plogis(L), 1, 0)
>>>
>>> ddist <- datadist(age, blood.pressure, cholesterol, sex)
>>> options(datadist='ddist')
>>>
>>> fit <- lrm(y ~ blood.pressure + sex * (age + rcs(cholesterol,4)),
>>
>> + x=TRUE, y=TRUE)
>>>
>>> par(mfrow=c(2,2))
>>> plot(fit) # Plot effects of all 4 predictors
>>
>> Error in value.chk(at, ix, xseq, if (plot.type == "curves") 100 else 40,
>> :
>> variable blood.pressure does not have limits defined by datadist
>>
>> I guess somthing goes wrong with function datadist
>>
>>> version
>>
>> _
>> platform i386-pc-mingw32
>> arch i386
>> os mingw32
>> system i386, mingw32
>> status
>> major 2
>> minor 7.0
>> year 2008
>> month 04
>> day 22
>> svn rev 45424
>> language R
>> version.string R version 2.7.0 (2008-04-22)
>>
>> thank you in advance,
>>
>> Patrizio Frederic
>
> This is the example run by example(plot.Design) which works for me, using
> the version of Design from CRAN. You don't need to include code that is
> already in an example in a help file, and if you do please make the code
> copy and paste-able instead of putting something at the start of each line.
>
> Frank
>
>
> Frank
>
>>
>> -------------------------------------------------
>> | Patrizio Frederic
>> | Research associate in Statistics,
>> | Department of Economics,
>> | University of Modena and Reggio Emilia,
>> | Via Berengario 51,
>> | 41100 Modena, Italy
>> |
>> | tel: +39 059 205 6727
>> | fax: +39 059 205 6947
>> | mail: patrizio.frederic at unimore.it
>> +-------------------------------------------------
>>
>> ______________________________________________
>> R-help at 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.
>>
>
>
> --
> Frank E Harrell Jr Professor and Chair School of Medicine
> Department of Biostatistics Vanderbilt University
>
More information about the R-help
mailing list