/* manure.sas */ /* green manure example from Federer */ options ls=72 ps=60; data manure; infile 'manure.dat'; input block variety $ fertilizer $ yield; proc print data=manure; title 'green manure data'; proc glm data=manure; class variety fertilizer block; model yield = variety*fertilizer block / ss1 ss2; estimate 'variety1' variety*fertilizer 1 1 -1 -1 0 0 / divisor = 2; estimate 'variety2' variety*fertilizer -1 -1 -1 -1 2 2 / divisor = 4; estimate 'fertilizer' variety*fertilizer 1 -1 1 -1 1 -1 / divisor = 3; estimate 'interaction1' variety*fertilizer 1 -1 -1 1 0 0; estimate 'interaction2' variety*fertilizer -1 1 -1 1 2 -2 / divisor = 2; contrast 'variety1' variety*fertilizer 1 1 -1 -1 0 0; contrast 'variety2' variety*fertilizer -1 -1 -1 -1 2 2; contrast 'fertilizer' variety*fertilizer 1 -1 1 -1 1 -1; contrast 'interaction1' variety*fertilizer 1 -1 -1 1 0 0; contrast 'interaction2' variety*fertilizer -1 1 -1 1 2 -2; contrast 'variety' variety*fertilizer 1 1 -1 -1 0 0, variety*fertilizer -1 -1 -1 -1 2 2; contrast 'interaction' variety*fertilizer 1 -1 -1 1 0 0, variety*fertilizer -1 1 -1 1 2 -2; means variety*fertilizer block; estimate 'variety su-sw' variety*fertilizer 1 1 -1 -1 0 0 / divisor = 2; estimate 'variety su-wp' variety*fertilizer 1 1 0 0 -1 -1 / divisor = 2; estimate 'variety sw-wp' variety*fertilizer 0 0 1 1 -1 -1 / divisor = 2; title 'green manure example'; /* get the multiplier for the Scheffe intervals and use the multiplier and the estimates and standard errors from proc GLM to get the simultaneous 95% confidence intervals for pairwise comparisons among the variety means */ data interval; input differ $ estimate stderr; F = finv(.95,2,25); multi = sqrt(2*F); lowerCL = estimate - multi*stderr; upperCL = estimate + multi*stderr; cards; su-sw 86.416667 17.6080369 su-wp 173.500000 17.6080369 sw-wp 87.083333 17.6080369 ; proc print data=interval; var differ estimate stderr lowerCL upperCL; title 'simultaneous confidence intervals'; run;