Nothing
## test for models containing data-defined bases
## ?makepredictcall
## ?model.frame
## ????
data(sleepstudy,package="lme4")
library(splines)
## lm0 <- lm(Reaction~ns(Days,2),sleepstudy)
## attr(terms(lm0),"predvars")
## library(nlme)
## lme1 <- lme(Reaction~ns(Days,2),random=~1|Subject,sleepstudy)
## attr(terms(lme1),"predvars") ## no!
## attr(lme1$terms,"predvars") ## yes
## detach("package:nlme")
library(lme4)
fm1 <- lmer(Reaction ~ ns(Days,2) + (1|Subject), sleepstudy)
fm2 <- lmer(Reaction ~ poly(Days,2) + (1|Subject), sleepstudy)
fm3 <- lmer(Reaction ~ poly(Days,2,raw=TRUE) + (1|Subject), sleepstudy)
newdat0 <- data.frame(Days = unique(sleepstudy$Days))
newdat <- data.frame(Days = 5:12)
tmpf <- function(fit) {
with(sleepstudy, {
plot (Reaction~Days, xlim=c(0,12))
points(Days, predict(fit), col=2)
})
lines(newdat0$ Days, predict(fit,ReForm=NA,newdata=newdat0), col=4)
lines(newdat $ Days, predict(fit,ReForm=NA,newdata=newdat ), col=5)
}
stopifnot(all.equal(predict(fm2,newdat,ReForm=NA),
predict(fm3,newdat,ReForm=NA)))
## pictures
tmpf(fm1)
tmpf(fm2)
tmpf(fm3)
## test for GLMMs
set.seed(101)
d <- data.frame(y=rbinom(10,size=1,prob=0.5),
x=1:10,
f=factor(rep(1:5,each=2)))
gm1 <- glmer(y ~ poly(x,2) + (1|f), d, family=binomial)
gm2 <- glmer(y ~ poly(x,2,raw=TRUE) + (1|f), d, family=binomial)
newdat <- data.frame(x=c(1,4,6))
stopifnot(all.equal(predict(gm1,newdat,ReForm=NA),
predict(gm2,newdat,ReForm=NA),tolerance=3e-6))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.