tmpar <- par( mar = c(4.1,3.1,0,0.5), mfrow = c(1,2) ) on.exit( par( tmpar ) ) attach( feed ) mplot( fi, bwgfi, trt, xaxt = "n", xlab = "", ylab = "" ) axis( 1, seq( 2400, 2700, by = 100 ) ) axis( 1, 2800, lab = F ) mlines( fi, predict( feed.fi2 ), trt, lty = 1 ) mlines( fi, predict( feed.fi1 ), trt, lty = 2 ) tmp <- mean( fi ) # vertical line at fi mean abline( h = lsmean(feed.fi)$pred, lty = 3 ) abline( v = tmp, lty = 3 ) # least squares means at same points( rep( tmp, 4 ), predict( feed.fi2, data.frame( trt = unique( trt ), fi = rep( tmp, 4 ) ) ), pch = 18 ) points( tapply( fi, trt, mean ), tapply( bwgfi, trt, mean ), pch = 0 ) detach( ) mtext( "(a) weight gain adjusted for feed intake", 1, 3 ) mtext( "feed intake", 1, 2 ) mtext( "residual weight gain", 2, 2 ) se.bar( 2700, 1475, std.dev( feed.fi2 ), cap = "SD" ) attach( feed ) mplot( fi, bwgtrt, trt, xaxt = "n", xlab = "", ylab = "" ) axis( 1, seq( 2400, 2700, by = 100 ) ) axis( 1, 2800, lab = F ) mlines( fi, predict( feed.trt2 ), trt, lty = 1 ) mlines( fi, predict( feed.trt1 ), lty = 2 ) tmp <- mean( fi ) # vertical line at fi mean abline( h = lsmean(feed.trt,fac=NULL)$pred, lty = 3 ) abline( v = tmp, lty = 3 ) # least squares means at same points( rep( tmp, 4 ), predict( feed.trt2, data.frame( trt = unique( trt ), fi = rep( tmp, 4 ) ) ), pch = 18 ) points( tapply( fi, trt, mean ), tapply( bwgtrt, trt, mean ), pch = 0 ) detach( ) mtext( "(b) weight gain adjusted for treatment", 1, 3 ) mtext( "feed intake", 1, 2 ) mtext( "residual weight gain", 2, 2 ) se.bar( 2700, 1350, std.dev( feed.trt2 ), cap = "SD" )