BookmarkSubscribeRSS Feed
Mralex1234
Calcite | Level 5

I am looking for SAS code to analyze data generated from split-split plot design. Thank you for the support. 

8 REPLIES 8
Mralex1234
Calcite | Level 5
Thank you ! can we use the same method for split-split plot ? The example
you provided is for strip-split plot.
ChrisHemedinger
Community Manager

You might be able to adapt this split-split-split example for PROC ANOVA: http://support.sas.com/documentation/onlinedoc/stat/ex_code/132/aovspl3.html

 

Chris 

Register for SAS Innovate 2025!! The premier event for SAS users, May 6-9 in Orlando FL. Sign up now for the best deals!
Mralex1234
Calcite | Level 5

Thank you all, I will try. 

Lyson
Quartz | Level 8

I was wondering if the Example in http://support.sas.com/documentation/onlinedoc/stat/ex_code/132/aovspl3.html can be used for random effects split-split plot models. Specifically, can Proc anova be used for mixed-effects Split-split plot designs? If not, can the same approach be used in Proc Mixed when for instance the subplot factor is considered as random?

data_null__
Jade | Level 19

You can reproduce the ANOVA results using PROC MIXED by adding the TEST statement E= terms to RANDOM statements in PROC MIXED.

 

data tires;
   input fabric rubber rep @;
   do cure=1 to 2;
      do temp=1 to 2;
         do piece=1 to 2;
            input y @; output;
            end;
         end;
      end;
   datalines;
1 1  1  29  26  34  29  40  35  76  64
1 1  2  84  54  41  40 136  67  74  58
1 1  3  87  66  47  37  70  56  63  55
1 1  4  80  70  53  27  68  37  49  38
1 1  5  79  48  63  53  66  48  43  29
1 2  1 113  81  88  48  84  37  91  57
1 2  2 108  92  71  49  81  72  55  52
1 2  3 123 108  59  49 121 101  98  42
1 2  4  57  43  47  28 102  56  95  55
1 2  5  82  76  80  35  84  73  50  50
2 1  6   6   6  32  16   7   7  34  22
2 1  7   6   6  26  18  12  12  26  24
2 1  8  12  12  52  20  14  12  41  36
2 1  9   9   6  21  16   9   7  15  14
2 1 10  15  13  21  17  13   9  34  15
2 2  6   6   6  15  12  16   7  41  19
2 2  7   6   6  25  19   8   6  23  23
2 2  8   7   7  50  32  20  19  47  33
2 2  9  13   8  22  20  23  23  64  33
2 2 10   6   6  27  19  16  14  74  31
3 1 11  76  68  34  22  27  20 118  29
3 1 12  16  11  24  15  43  31  49  36
3 1 13  61  50  46  24  36  25  62  21
3 1 14  41  23  29  19  25  13  66  43
3 1 15   8   6  14  11   7   7  28  21
3 2 11  13  11  53  26  37  24  59  52
3 2 12  22  19  22  22  99  17  45  38
3 2 13  22  18  48  18  76  48  30  25
3 2 14  58  32  30  26  72  64  94  43
3 2 15   7   7  11  11  16  12  19  13
;

proc anova;
   classes fabric rubber rep cure temp piece;
   model y=fabric  rep(fabric)
           rubber  rubber*fabric
                   rubber*rep(fabric)
           cure    cure*fabric   cure*rubber
                   cure*rubber*fabric
                   cure*rubber*rep(fabric)
           temp temp*fabric temp*rubber temp*fabric*rubber
                temp*cure temp*cure*fabric temp*cure*rubber
                temp*cure*fabric*rubber
                temp*cure*rubber*rep(fabric);
   test h=fabric e=rep(fabric);
   test h=rubber rubber*fabric e=rubber*rep(fabric);
   test h=cure cure*fabric cure*rubber cure*rubber*fabric
        e=cure*rubber*rep(fabric);
   test h=temp temp*fabric temp*rubber temp*fabric*rubber
          temp*cure temp*cure*fabric temp*cure*rubber
          temp*cure*fabric*rubber
        e=temp*cure*rubber*rep(fabric);
   title 'Split-split-split Plot Design: Tire Experiment';
   run; quit;

proc mixed;
   class fabric rubber rep cure temp piece;
   model y=fabric  /*rep(fabric)*/
           rubber  rubber*fabric
                   /*rubber*rep(fabric)*/
           cure    cure*fabric   cure*rubber
                   cure*rubber*fabric
                   /*cure*rubber*rep(fabric)*/
           temp temp*fabric temp*rubber temp*fabric*rubber
                temp*cure temp*cure*fabric temp*cure*rubber
                temp*cure*fabric*rubber
                /*temp*cure*rubber*rep(fabric)*/;
   random rep(fabric);
   random rubber*rep(fabric);
   random cure*rubber*rep(fabric);
   random temp*cure*rubber*rep(fabric);
   lsmeans rubber*fabric / diff;
   title 'Split-split-split Plot Design: Tire Experiment';
   run; quit;

Capture.PNGCapture.PNG 

Lyson
Quartz | Level 8

Thank you. I got it like that and it works perfectly well.

sas-innovate-white.png

Missed SAS Innovate in Orlando?

Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.

 

Register now

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 8 replies
  • 7383 views
  • 3 likes
  • 5 in conversation