[R] Troubles plotting lrm output in Design Library
Frank E Harrell Jr
f.harrell at vanderbilt.edu
Thu May 29 19:36:25 CEST 2008
Patrizio Frederic wrote:
> 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
I cannot reproduce the error on Linux R 2.7.0 using the same version of
the packages you are using.
Frank
>
> 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
>>
>
--
Frank E Harrell Jr Professor and Chair School of Medicine
Department of Biostatistics Vanderbilt University
More information about the R-help
mailing list