BookmarkSubscribeRSS Feed
pamp
Calcite | Level 5

I have an experiment designed as a split plot design with the whole plot as a RCBD. I am evaluating photosynthesis in plants growing under two CO2 concentrations (whole plots) and i am evaluating three genotypes. I took 5 photosynthesis measurements over 5 weeks.

Block = 2

CO2 conc = 2

Genotype = 3

n plants per treatment combination = 4

time =5

If i had just one time point I would analyze this as a RCBD split plot design. However I am confused in how to analyze this as repeated measures and obtaining comparisons. Which works better proc mixed or proc gimmix? Which code can I use? and when I input the data, should I add time as another factor or should I just add 5 columns for each measure?

Thanks!

4 REPLIES 4
SteveDenham
Jade | Level 19

Time should be another factor.  Either MIXED or GLIMMIX will work.  Here is a sample of GLIMMIX code.

proc glimmix data=yourdata;

class block co2 genotype time plantid;

model photo=co2|genotype|time/ddfm=kr2;

random intercept/subject=block; /* You may want interactions with block included here, depending on homogeneity of variance, etc.*/

random time/type=ar(1) subject=plantid(block*co2*genotype) residual;

lsmeans <what goes in here depends on the comparisons of interest.  This might be better done with LSMESTIMATE>;

run;

Steve Denham

pamp
Calcite | Level 5

Thank you for your reply.

I still have some questions though.

Is this code fitting a split plot model?

To identify the error terms I had on paper something like this:

Block

CO2

block*co2              error1 (WP error)

geno

co2*geno

geno*block(co2)     error2

time

block*time              error3

time*trt

block*time*trt         error4

time*geno

time*trt*geno

error

I understand that this is the model for a split plot design in time with whole plot in RCBD. 

How do I specify the error term for each factor and interactions in the sas code? For example, test co2 with error1, test geno with error2,  test time with error 3, and so on. Similarly, how can I  determine the lsmeans given that there are different error terms?

Also time cannot be randomized because these are measurements taken during five weeks, should I ignore this or is there a way to include this in the model?

Thanks

SteveDenham
Jade | Level 19

You can force these error terms by changing the RANDOM statement to:

random intercept co2 geno*co2/subject=block:

The random residual specification for time will handle all errors correctly.

Do not be surprised (or alarmed) if the G matrix is found to be non-singular.  This will almost certainly be due to one of the variance components being zero (REML estimate).  GLIMMIX handles this correctly.

I may be mistaken, but I think my original code, and the code with the replaced RANDOM statement right up there, will give the same tests with the same degrees of freedom.

One of the great things about MIXED and GLIMMIX is that they correctly test effects against the proper "error" terms.  Remember, these are NOT mean squares that are being compared, but are quadratic forms.  While the skeleton ANOVA (to blatantly steal a term from Walt Stroup) is useful in making sure that you have correctly captured the design, it is somewhat misleading if you let it lead you to thinking of various "mean square error terms".

Steve Denham

xuelin0820
Fluorite | Level 6

Hi Steve, 

Could you explain more about how the terms included in random statement depend on homogeneity of variance?

Could you also explain more or give related reference that why "there (the error terms in message 3) are NOT mean squares that are being compared, but are quadratic forms"?

Thanks, Xuelin.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 3117 views
  • 0 likes
  • 3 in conversation