I see a couple things that might be causing problems. The first is the variable 'site'. Is this numeric? If so, then make sure your data are sorted by site. If it is not (and this applies even if it is numeric), you should probably include it in your CLASS statement. The variable 'id' should also be in the CLASS statement.I would rewrite the RANDOM statement as:
RANDOM intercept site/subject=id SOLUTION;
This would fit a variance component structure rather than the unstructured covariance you specified. With type=UN, you are estimating id*(id-1)/2 parameters, and I suspect that you may not have enough data to do that efficiently.
So with all this, I would try the following statements:
LSMEANS exposure group/diff;
SLICE exposure*group/diff;
The first will give the marginal means and a test for significance for the main effects of exposure and group.. The second will give differences of exposure at each level of group, and differences of group at each level of exposure. An equivalent approach to SLICE using the LSMESTIMATE statement would look like
LSMESTIMATE exposure*group 'Exposure difference for group A' 1 -1 0 0,
'Exposure difference for group B' 0 0 1 -1,
'Group difference for exposure 1' 1 0 -1 0,
'Group difference for exposure 2' 0 1 0 -1;
Since PROC MIXED doesn't support the SLICEDIFF statement, you will likely have to use the LSMESTIMATE approach for the interaction.
SteveDenham
... View more