## Documentation Example 1 for PROC MIXED

```/****************************************************************/
/*          S A S   S A M P L E   L I B R A R Y                 */
/*                                                              */
/*    NAME: MIXEX1                                              */
/*   TITLE: Documentation Example 1 for PROC MIXED              */
/*          Split-Plot Design                                   */
/* PRODUCT: STAT                                                */
/*  SYSTEM: ALL                                                 */
/*    KEYS: Mixed Linear Models                                 */
/*   PROCS: MIXED                                               */
/*    DATA:                                                     */
/*                                                              */
/* SUPPORT: Tianlin Wang                                        */
/*     REF:                                                     */
/*    MISC:                                                     */
/*                                                              */
/****************************************************************/

*---------------Split-Plot Example------------------*
| Data represent a balanced split-plot example and  |
| were reported by Stroup (1989).                   |
*---------------------------------------------------*;
data sp;
input Block A B Y @@;
datalines;
1 1 1  56  1 1 2  41
1 2 1  50  1 2 2  36
1 3 1  39  1 3 2  35
2 1 1  30  2 1 2  25
2 2 1  36  2 2 2  28
2 3 1  33  2 3 2  30
3 1 1  32  3 1 2  24
3 2 1  31  3 2 2  27
3 3 1  15  3 3 2  19
4 1 1  30  4 1 2  25
4 2 1  35  4 2 2  30
4 3 1  17  4 3 2  18
;
proc mixed;
class A B Block;
model Y = A B A*B;
random Block A*Block;
run;
proc mixed data=sp;
class A B Block;
model Y = A B A*B;
random Block A*Block;
estimate 'a1 mean narrow'
intercept 1 A 1 B .5 .5 A*B .5 .5 |
Block     .25 .25 .25 .25
A*Block   .25 .25 .25 .25 0 0 0 0 0 0 0 0;

estimate 'a1 mean intermed'
intercept 1 A 1 B .5 .5 A*B .5 .5 |
Block     .25 .25 .25 .25;
estimate 'a1 mean broad'
intercept 1 a 1 b .5 .5 A*B .5 .5;
run;

```