On Sat, Jan 29, 2011 at 11:10 AM, David Winsemius <dwinsem...@comcast.net> wrote: > > On Jan 29, 2011, at 12:12 PM, Russell Pierce wrote: > >> Just in case someone else stumbles onto this thread and is facing a >> similar issue: The quick solution for me turned out to be using Glm >> and Predict in the rms package. Thanks go to Joshua and Ista for >> helping me out with this issue. Double thanks go to Joshua for >> suggesting I take a closer look at the rms package. >> >> library(rms) >> dat <- data.frame(xxA = rnorm(20,10), xxB = rnorm(20,20)) >> dat$out <- with(dat,xxA+xxB+xxA*xxB+rnorm(20,20)) >> rms.res <- Glm(out ~ scale(xxA)*scale(xxB),data=dat) >> newdata <- >> as.data.frame(Predict(rms.res,xxA=c(-1,0,1),xxB=c(-1,0,1))[,1:3]) > > Puzzled that you would see a particular need for the rms functions (not that > I have anything against the rmes package, but it doesn't seem to be needed > here.) > > This seems to work without error: > > rms.res <- glm(out ~ scale(xxA)*scale(xxB), data=dat) > newdata <- predict(rms.res, newdata=data.frame(xxA=c(-1,0,1),xxB=c(-1,0,1)))
The issue is the predicted values are different. ################################# require(rms) set.seed(10) dat <- data.frame(xxA = rnorm(20, 10), xxB = rnorm(20, 20)) dat$out <- with(dat, xxA+xxB+xxA*xxB+rnorm(20,20)) rms.res1 <- Glm(out ~ scale(xxA) * scale(xxB), data=dat) rms.res2 <- glm(out ~ scale(xxA) * scale(xxB), data=dat) as.data.frame(Predict(rms.res1, xxA = -1:1, xxB = -1:1))[,1:3] predict(rms.res2, expand.grid(xxA= -1:1, xxB= -1:1)) ################################## > -- > David Winsemius, MD > West Hartford, CT -- Joshua Wiley Ph.D. Student, Health Psychology University of California, Los Angeles http://www.joshuawiley.com/ ______________________________________________ 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.