I'm trying to analyze my data set but I'm confused on how to program SAS to run what I want it to run.
I'm testing the effect of 4 sucrose concentrations and 3 growth promoter concentrations on pollen of 5 plant varieties. I am using a CRD experimental design, with a complete factorial treatment design.
Is there a way I can test the combinatorial effects of sucrose+growth promoter concentrations on the 5 plant varieties? For example, I want to test if 5% growth promoter gives significant differences in pollen growth among 5 varieties when that concentration is combined with 4 different levels of sucrose. Can I do this in a CRD with subsampling?
Looks like you have two issues: properly dealing with sub-samples and doing contrasts after model fitting. Here is one approach. You need to have a unique identifier of each replicate of each S, G, and V combination. Call this REP. Let's say there are 5 replicates of each combination of levels of the three fixed effects; there would be five records for S=1,G=1,V=1 (with REP = 1,2,3,4,5), etc. But if you also have sub-samples (let's say 3), then there would be 15 records for S=1,G=1,V=1, etc. There would be three records for S=1,G=1,V=1,REP=1,
three records for
Then you could use the program:
proc mixed ;
class S G V REP;
model Y = S|G|V;
random REP(S G V);
lsmeans S*G*V / slice = (S G S*G);
Without the random statement, the procedure would incorrectly consider the sub-samples as independent replicates.
You could use a series of contrast statements for the last part of your post. But I can't get into describing this here. Instead, I am showing you how to use the SLICE option on LSMEANS statements. After the means in the output, you will get a series of tests of simple effects. For instance, the first line in the Effect Slice output will be the results of a test for G*V effects for S=1, then for S=2, and so on. Eventually, you will get the test results for V effects for S=1,G=1, then for S=1,G=2, and so on.
If you want more specifics, for instance, which varieties are different from each other at S=1,G=1, then for S=1,G=2, and so on, you will need to use GLIMMIX. Everything is the same (in this case) except you can expand the LSMEANS statement to:
lsmeans S*G*V / slice = (S G S*G) slicediff=(S G S*G);
This will generate a lot of output. You can read about slices in the documentation.