John Smith
2011-May-17 20:04 UTC
[R] can not use plot.Predict {rms} reproduce figure 7.8 from Regression Modeling Strategies (http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/course2.pdf)
Dear R-users, I am using R 2.13.0 and rms 3.3-0 , but can not reproduce figure 7.8 of the handouts *Regression Modeling Strategies* ( http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/course2.pdf) by the following code. Could any one help me figure out how to solve this? setwd('C:/Rharrell') require(rms) load('data/counties.sav') older <- counties$age6574 + counties$age75 label(older) <- '% age >= 65, 1990' pdensity <- logb(counties$pop.density+1, 10) label(pdensity) <- 'log 10 of 1992 pop per 1990 miles^2' counties <- cbind(counties, older, pdensity) # add 2 vars. not in data frame dd <- datadist(counties) options(datadist='dd') f <- ols(democrat ~ rcs(pdensity,4) + rcs(pop.change,3) + rcs(older,3) + crime + rcs(college,5) + rcs(income,4) + rcs(college,5) %ia% rcs(income,4) + rcs(farm,3) + rcs(white,5) + rcs(turnout,3), data=counties) incomes <- seq(22900, 32800, length=4) show.pts <- function(college.pts, income.pt) { s <- abs(income - income.pt) < 1650 # Compute 10th smallest and 10th largest % college # educated in counties with median family income within # $1650 of the target income x <- college[s] x <- sort(x[!is.na(x)]) n <- length(x) low <- x[10]; high <- x[n-9] college.pts >= low & college.pts <= high } windows() plot(Predict(f, college, income=incomes, conf.int=FALSE), xlim=c(0,35), ylim=c(30,55), lty=1, lwd=c(.25,1.5,3.5,6), col=c(1,1,2,2), perim=show.pts) Thanks [[alternative HTML version deleted]]
John Smith
2011-May-17 20:25 UTC
[R] can not use plot.Predict {rms} reproduce figure 7.8 from Regression Modeling Strategies (http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/course2.pdf)
Also I can not reproduce figure 7.11 by f <- Newlabels(f, list(turnout='voter turnout (%)')) windows() nomogram(f, interact=list(income=incomes), turnout=seq(30,100,by=10), lplabel='estimated % voting Democratic', cex.var=.8, cex.axis=.75) On Tue, May 17, 2011 at 4:04 PM, John Smith <zmring@gmail.com> wrote:> Dear R-users, > > I am using R 2.13.0 and rms 3.3-0 , but can not reproduce figure 7.8 of the > handouts *Regression Modeling Strategies* ( > http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/course2.pdf) by the > following code. Could any one help me figure out how to solve this? > > > setwd('C:/Rharrell') > require(rms) > load('data/counties.sav') > > older <- counties$age6574 + counties$age75 > label(older) <- '% age >= 65, 1990' > pdensity <- logb(counties$pop.density+1, 10) > label(pdensity) <- 'log 10 of 1992 pop per 1990 miles^2' > counties <- cbind(counties, older, pdensity) # add 2 vars. not in data > frame > dd <- datadist(counties) > options(datadist='dd') > > f <- ols(democrat ~ rcs(pdensity,4) + rcs(pop.change,3) + > rcs(older,3) + crime + rcs(college,5) + rcs(income,4) + > rcs(college,5) %ia% rcs(income,4) + > rcs(farm,3) + rcs(white,5) + rcs(turnout,3), data=counties) > > incomes <- seq(22900, 32800, length=4) > show.pts <- function(college.pts, income.pt) > { > s <- abs(income - income.pt) < 1650 > # Compute 10th smallest and 10th > largest % college > # educated in counties with median > family income within > # $1650 of the target income > x <- college[s] > x <- sort(x[!is.na(x)]) > n <- length(x) > low <- x[10]; high <- x[n-9] > college.pts >= low & college.pts <= high > } > windows() > plot(Predict(f, college, income=incomes, conf.int=FALSE), > xlim=c(0,35), ylim=c(30,55), lty=1, lwd=c(.25,1.5,3.5,6), > col=c(1,1,2,2), perim=show.pts) > > > > > Thanks > > >[[alternative HTML version deleted]]
John Smith
2012-Mar-14 20:09 UTC
[R] can not use plot.Predict {rms} reproduce figure 7.8 from Regression Modeling Strategies (http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/course2.pdf)
With most current version of R and RMS, the 4 curves are drew in 4 separate panels. Can anyone show me how can I get the figure exactly like the figure 7.8 in *Regression Modeling Strategies* ( http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/course2.pdf) Thanks On Tue, May 17, 2011 at 4:04 PM, John Smith <zmring@gmail.com> wrote:> Dear R-users, > > I am using R 2.13.0 and rms 3.3-0 , but can not reproduce figure 7.8 of > the handouts *Regression Modeling Strategies* ( > http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/course2.pdf) by the > following code. Could any one help me figure out how to solve this? > > > setwd('C:/Rharrell') > require(rms) > load('data/counties.sav') > > older <- counties$age6574 + counties$age75 > label(older) <- '% age >= 65, 1990' > pdensity <- logb(counties$pop.density+1, 10) > label(pdensity) <- 'log 10 of 1992 pop per 1990 miles^2' > counties <- cbind(counties, older, pdensity) # add 2 vars. not in data > frame > dd <- datadist(counties) > options(datadist='dd') > > f <- ols(democrat ~ rcs(pdensity,4) + rcs(pop.change,3) + > rcs(older,3) + crime + rcs(college,5) + rcs(income,4) + > rcs(college,5) %ia% rcs(income,4) + > rcs(farm,3) + rcs(white,5) + rcs(turnout,3), data=counties) > > incomes <- seq(22900, 32800, length=4) > show.pts <- function(college.pts, income.pt) > { > s <- abs(income - income.pt) < 1650 > # Compute 10th smallest and 10th > largest % college > # educated in counties with median > family income within > # $1650 of the target income > x <- college[s] > x <- sort(x[!is.na(x)]) > n <- length(x) > low <- x[10]; high <- x[n-9] > college.pts >= low & college.pts <= high > } > windows() > plot(Predict(f, college, income=incomes, conf.int=FALSE), > xlim=c(0,35), ylim=c(30,55), lty=1, lwd=c(.25,1.5,3.5,6), > col=c(1,1,2,2), perim=show.pts) > > > > > Thanks > > >[[alternative HTML version deleted]]