tmpar <- par( mar = c(4.1,3.1,0,0.5), mfrow = c(1,2) ) on.exit( par( tmpar ) ) attach( feed ) mplot( fi, bwg, group = trt, xaxt = "n", xlab = "", ylab = "" ) axis( 1, seq( 2400, 2700, by = 100 ) ) axis( 1, 2800, lab = F ) mlines( fi, predict( feed.int ), group = trt, lty = c(3,4,1,2) ) tmp <- mean( fi ) # vertical line at fi mean abline( v = tmp, lty = 3 ) # least squares means at same points( rep( tmp, 4 ), predict( feed.int, data.frame( trt = unique( trt ), fi = rep( tmp, 4 ) ) ), pch = 18 ) points( tapply( fi, trt, mean ), tapply( bwg, trt, mean ), pch = 0 ) detach( ) mtext( "(a) different slopes", 1, 3 ) mtext( "feed intake", 1, 2 ) mtext( "weight gain", 2, 2 ) #legend( 2550, 1325, c(".25 CLA",".5 CLA","Control",".5 LA"), lty = c(2,4,1,4), # pch = "1234" ) se.bar( 2700, 1325, std.dev( feed.int ), cap = "SD int" ) se.bar( 2690, 1325, std.dev( feed.ancova ), cap = "add SD", adj = 1 ) attach( feed ) mplot( fitted( feed.ancova ), res, trt, xlab = "", ylab = "" ) mlines( fitted( feed.ancova ), fitted( feed.res ), trt, lty = c(3,4,1,2)) # vertical line at fi mean abline( h = 0, lty = 5 ) points( tapply( fitted( feed.ancova ), trt, mean ), tapply( res, trt, mean ), pch = 0 ) detach( ) mtext( "(b) pure interaction", 1, 3 ) mtext( "additive fit", 1, 2 ) mtext( "additive residual", 2, 2 ) #se.bar( 2700, 1475, std.dev( feed.int ), cap = "SD" )