A SAS code
A.1 Exercise 4
Copy and paste the below code into a SAS editor, and hit run to see the output.
DATA A;
INPUT PLOT AN T BLK TRT PCTSEV;
Y=PCTSEV/100;
YSTAR=LOG(Y/(1-Y));
WT=Y*(1-Y);
DROP AN;
CARDS;
101 1 0 1 2 9
102 1 0 1 1 6
103 1 0 1 3 2
201 1 0 2 2 7
202 1 0 2 3 5
203 1 0 2 1 3
301 1 0 3 3 4
302 1 0 3 2 2
303 1 0 3 1 6
401 1 0 4 1 1
402 1 0 4 2 1
403 1 0 4 3 4
101 2 7 1 2 4
102 2 7 1 1 6
103 2 7 1 3 10
201 2 7 2 2 2
202 2 7 2 3 5
203 2 7 2 1 3
301 2 7 3 3 11
302 2 7 3 2 6
303 2 7 3 1 4
401 2 7 4 1 8
402 2 7 4 2 3
403 2 7 4 3 6
101 3 14 1 2 8
102 3 14 1 1 20
103 3 14 1 3 15
201 3 14 2 2 13
202 3 14 2 3 12
203 3 14 2 1 14
301 3 14 3 3 15
302 3 14 3 2 8
303 3 14 3 1 25
401 3 14 4 1 17
402 3 14 4 2 14
403 3 14 4 3 49
101 4 21 1 2 24
102 4 21 1 1 38
103 4 21 1 3 61
201 4 21 2 2 31
202 4 21 2 3 42
203 4 21 2 1 79
301 4 21 3 3 48
302 4 21 3 2 23
303 4 21 3 1 86
401 4 21 4 1 52
402 4 21 4 2 45
403 4 21 4 3 56
101 5 28 1 2 28
102 5 28 1 1 89
103 5 28 1 3 44
201 5 28 2 2 41
202 5 28 2 3 49
203 5 28 2 1 79
301 5 28 3 3 45
302 5 28 3 2 47
303 5 28 3 1 63
401 5 28 4 1 94
402 5 28 4 2 52
403 5 28 4 3 64
101 6 35 1 2 36
102 6 35 1 1 77
103 6 35 1 3 88
201 6 35 2 2 42
202 6 35 2 3 69
203 6 35 2 1 71
301 6 35 3 3 43
302 6 35 3 2 39
303 6 35 3 1 84
401 6 35 4 1 97
402 6 35 4 2 47
403 6 35 4 3 76
;
PROC MIXED DATA=A COVTEST;
CLASS BLK TRT;
MODEL YSTAR=TRT|T/ SOLUTION DDFM=bw RESIDUAL;
RANDOM BLK;
WEIGHT WT;
REPEATED/SUBJECT=BLK*TRT TYPE=AR(1) R RCORR;
quit;
PROC MIXED DATA=A;
CLASS BLK TRT;
MODEL YSTAR=TRT TRT*T/NOINT SOLUTION DDFM=bw OUTPM=B;
RANDOM BLK;
WEIGHT WT;
REPEATED/SUBJECT=BLK*TRT TYPE=AR(1);
LSMEANS TRT/DIFF AT T=0;
LSMEANS TRT/DIFF AT T=7;
LSMEANS TRT/DIFF AT T=14;
LSMEANS TRT/DIFF AT T=21;
LSMEANS TRT/DIFF AT T=28;
LSMEANS TRT/DIFF AT T=35;
ESTIMATE 'TRT1 S VS TRT2 S' TRT*T 1 -1 0;
ESTIMATE 'TRT1 S VS TRT3 S' TRT*T 1 0 -1;
ESTIMATE 'TRT2 S VS TRT3 S' TRT*T 0 1 -1;
quit;
PROC PRINT DATA=B;
PROC REG DATA=B;
MODEL YSTAR=PRED;
RUN;
A.2 Exercise 9.4
Copy and paste the below code into a SAS editor, and hit run to see the output.
DATA A;
INPUT I YI;
EAST=1;
NORTH=I;
CARDS;
1 41
2 60
3 81
4 22
5 8
6 20
7 28
8 2
9 0
10 2
11 2
12 8
13 0
14 43
15 61
16 50
;
PROC VARIOGRAM PLOTS=MORAN OUTVAR=B;
COMPUTE LAGD=1 MAXLAG=11 AUTOCORR(ASSUM=RANDOM);
COORDINATES XC=EAST YC=NORTH;
VAR YI;
PROC PRINT;
run;
PROC VARIOGRAM DATA=A PLOTS=FIT;
COMPUTE LAGD=1 MAXLAG=11 CL ROBUST;
COORDINATES XC=EAST YC=NORTH;
MODEL FORM=AUTO(MLIST=(SPH EXP GAU) NEST=1);
VAR YI;
RUN;
A.3 Exercise 9.5
Copy and paste the below code into a SAS editor, and hit run to see the output.
DATA A;
INPUT COL ROW YI;
CARDS;
1 1 2
2 1 2
3 1 0
4 1 3
5 1 1
6 1 1
7 1 1
8 1 5
9 1 22
10 1 13
11 1 14
12 1 6
1 2 2
2 2 0
3 2 0
4 2 3
5 2 0
6 2 2
7 2 7
8 2 54
9 2 57
10 2 49
11 2 42
12 2 2
1 3 3
2 3 1
3 3 0
4 3 1
5 3 0
6 3 9
7 3 6
8 3 62
9 3 94
10 3 75
11 3 7
12 3 2
1 4 33
2 4 3
3 4 0
4 4 2
5 4 0
6 4 20
7 4 25
8 4 79
9 4 95
10 4 32
11 4 12
12 4 2
1 5 4
2 5 1
3 5 3
4 5 2
5 5 6
6 5 23
7 5 14
8 5 64
9 5 31
10 5 9
11 5 13
12 5 16
1 6 0
2 6 2
3 6 1
4 6 4
5 6 4
6 6 5
7 6 4
8 6 9
9 6 10
10 6 19
11 6 6
12 6 1
1 7 0
2 7 7
3 7 7
4 7 9
5 7 4
6 7 12
7 7 7
8 7 7
9 7 12
10 7 13
11 7 11
12 7 2
1 8 0
2 8 2
3 8 11
4 8 19
5 8 12
6 8 32
7 8 11
8 8 9
9 8 31
10 8 67
11 8 27
12 8 30
1 9 5
2 9 10
3 9 35
4 9 56
5 9 62
6 9 45
7 9 21
8 9 18
9 9 43
10 9 94
11 9 77
12 9 33
1 10 11
2 10 24
3 10 78
4 10 100
5 10 99
6 10 68
7 10 52
8 10 45
9 10 74
10 10 98
11 10 99
12 10 37
1 11 7
2 11 29
3 11 79
4 11 97
5 11 92
6 11 95
7 11 100
8 11 89
9 11 53
10 11 46
11 11 50
12 11 16
1 12 7
2 12 22
3 12 31
4 12 50
5 12 56
6 12 79
7 12 100
8 12 61
9 12 53
10 12 36
11 12 33
12 12 2
;
PROC VARIOGRAM DATA=A PLOTS=MORAN OUTVAR=B;
COMPUTE LAGD=1 MAXLAG=12 AUTOCORR(ASSUM=RANDOM);
COORDINATES XC=COL YC=ROW;
VAR YI;
PROC PRINT;
PROC VARIOGRAM DATA=A PLOTS=FIT;
COMPUTE LAGD=1 MAXLAG=12 CL ROBUST;
COORDINATES XC=COL YC=ROW;
MODEL FORM=AUTO(MLIST=(SPH EXP GAU) NEST=1);
VAR YI;
RUN;
A.4 Yield loss
Copy and paste the below code into a SAS editor, and hit run to see the output.
DATA A;
INPUT WP SP $ BLK TRT FUNG DS YIELD;
CARDS;
101 A 1 1 0 43 205
101 B 1 1 1 1 399
102 A 1 2 1 2 426
102 B 1 2 0 92 102
103 A 1 3 1 2 385
103 B 1 3 0 7 355
201 A 2 2 1 4 412
201 B 2 2 0 75 224
202 A 2 3 1 3 425
202 B 2 3 0 10 352
203 A 2 1 0 27 330
203 B 2 1 1 2 375
301 A 3 1 1 2 420
301 B 3 1 0 47 303
302 A 3 3 0 12 342
302 B 3 3 1 1 395
303 A 3 2 0 63 222
303 B 3 2 1 3 393
401 A 4 3 0 12 326
401 B 4 3 1 1 400
402 A 4 1 0 32 289
402 B 4 1 1 1 418
403 A 4 2 1 2 371
403 B 4 2 0 53 175
;
PROC MIXED COVTEST METHOD=TYPE3;
CLASS BLK TRT FUNG;
MODEL DS=TRT|FUNG/RESIDUAL;
RANDOM BLK BLK*TRT;
LSMEANS TRT|FUNG/DIFF;
run;
PROC MIXED COVTEST METHOD=TYPE3;
CLASS BLK TRT FUNG;
MODEL YIELD=TRT|FUNG/RESIDUAL;
RANDOM BLK BLK*TRT;
LSMEANS TRT|FUNG/DIFF;
PROC REG;
MODEL YIELD=DS;
DATA B;
SET A;
RY1=YIELD/399.23843;
PROC REG;
MODEL RY1=DS;
PROC SORT DATA=A; BY BLK TRT FUNG;
PROC TRANSPOSE DATA=A OUT=T1A; BY BLK TRT;
VAR YIELD;
run;
DATA T2A;
SET T1A;
RY2=COL1/COL2;
DROP _NAME_ COL1 COL2;
run;
PROC TRANSPOSE DATA=A OUT=T1B; BY BLK TRT;
VAR DS;
run;
DATA T2B;
SET T1B;
CDS=COL1;
DROP _NAME_ COL1 COL2;
run;
DATA T3;
MERGE T2A T2B;
BY BLK TRT;
PROC PRINT;
run;
PROC MIXED COVTEST;
CLASS BLK TRT;
MODEL RY2=TRT/RESIDUAL;
RANDOM BLK;
LSMEANS TRT/DIFF;
PROC REG;
MODEL RY2=CDS;
RUN;