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 

It's time to register for SAS Innovate! Join your SAS user peers in Las Vegas on April 16-19 2024.
Mralex1234
Calcite | Level 5

Thank you all, I will try. 

Lyson
Obsidian | Level 7

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
Obsidian | Level 7

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

sas-innovate-2024.png

Don't miss out on SAS Innovate - Register now for the FREE Livestream!

Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

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