[R-sig-ME] mixed-ish model

David Stevens david.stevens at usu.edu
Wed Jan 21 22:35:26 CET 2015

I have a mixed-effects model problem in which y ~ x|s where s is a 
random effect and x is a fixed effect. s has three levels (0,1,2) and 
I'm looking for a lmer(...) solution to the case where if s == c(1,2), 
the slope is the same but the intercept is different. If s == 0, slope 
and intercept are different.

lmer(y~x + (1+x|s)) yields three slopes and three intercepts

If I define s2 = 0 for s = 0 and s2 = 1 for s %in% (1,2)
lmer(y~x + (1+x|s2)) yields two slopes and two intercepts

I can brute force this using categorical variables and lm(...) , but I 
was hoping for a more R-ish way. Any thoughts or pointers?

Here are the data
# ... x
x <- c(190,110,150,170,170,170,200,140,140,160,140,110,110,120,110,110,110)
x <-  c(x,140,140,120,190,120,110,110,100,100,120,120,100,80,100)
x <- c(x,580,640,500,530,670,670,640,0640,560,590,640,590,600)
# ... y
y <- 
y <- 
y <- c(y,5.82,5.94,5.73,5.91,5.87,5.8,5.8,5.78,5.78,5.73,5.63,5.79,6.02)
# ... s
s <- as.factor(c(rep(1,17),rep(2,14),rep(0,13)))
y.df = data.frame(x=x,y=y,s=s)
y.df$s2 <- as.factor(1 - as.numeric( !(y.df$s %in% c(1,2))))



David K Stevens, P.E., Ph.D.
Professor and Head, Environmental Engineering
Civil and Environmental Engineering
Utah Water Research Laboratory
8200 Old Main Hill
Logan, UT  84322-8200
435 797 3229 - voice
435 797 1363 - fax
david.stevens at usu.edu

More information about the R-sig-mixed-models mailing list