I am running a proc GLM in SAS with specific contrasts, one of which is included in the code below. With the following code, all my contrasts are always unestimable:
proc GLM data=my_data;
Class A B C;
Model norm_counts = A|B C(B) A*C(B);
Random C(B) A*C(B) / test;
Contrast 'Female.Obp50Pos - Female.Obp50Neg' A*B -1 0 1 0 0 0 0 0;
run;
However, when I use the Contrast statement's singular
option to tune the estimability checking, I can make the contrast estimable - but only if I set it to exactly 1 (see below).
proc GLM data=my_data;
class A B C;
model norm_counts = A|B C(B) A*C(B);
random C(B) A*C(B) / test;
contrast 'Female.Obp50Pos - Female.Obp50Neg' A*B -1 0 1 0 0 0 0 0 / singular=1;
run;
Since the default is singular=10^-4, setting it to 1 seems like a mere hack to coerce SAS to give a p-value for my contrast but is likely to be meaningless. However, this is a mere hunch.
Is setting singular=1 valid to make an otherwise unestimable contrast estimable? Why or why not?
Please note that I cannot change the model specification, and from the output of the Contrast statement's "e" option the contrast is what it needs to be.