data example8_4;
input seq sub period trt$ y;
/*seq、sub、period、trt分别表示顺序、受试者、时期、处理，处理用字母表示，因此加上$ */
cards;
1	1	1	a	20
1	2	1	a	40
1	3	1	a	30
1	4	1	a	30
1	5	1	a	20
1	6	1	a	30
2	7	1	b	30
2	8	1	b	40
2	9	1	b	30
2	10	1	b	40
2	11	1	b	20
2	12	1	b	50
1	1	2	b	30
1	2	2	b	50
1	3	2	b	40
1	4	2	b	50
1	5	2	b	40
1	6	2	b	30
2	7	2	a	20
2	8	2	a	50
2	9	2	a	10
2	10	2	a	30
2	11	2	a	10
2	12	2	a	30
;
proc glm;
class seq sub period trt;
model y=seq sub(seq) period trt;
/*sub(seq)表示sub嵌套于seq之内，指定受试者与顺序之间的嵌套关系*/
test h=seq e=sub(seq);
/*test语句指定seq的误差项为sub(seq)，而不是默认的个体内误差*/
random sub(seq)/test;
/*random语句指定sub(seq)为随机效应，test表示对随机效应进行检验*/
run;
