05-29-2017 08:24 AM
I am using sas v9.3 proc genmod to model a continuous outcome:
PROC GENMOD; class number train bl/param=glm; model y= train age mt pn eo tncc bl; effectplot fit (x=mt plotby=train)/obs; repeated subject=number/type=ar rupdate=2; run;
My class variable train has 8 levels, but the effectplot displays on trainer 1, 4, 5, 6, 7, and 8. Trainers 2 and 3 are ommited for some reason. If a perform a slicefit plotby train, all levels are displayed, but that isn't the graph I really want. Any reason two levels of my class variable are being omitted?
05-31-2017 03:50 PM
Most likely reason is that you have insufficient observations to fit a model for those levels, due to missing value in other variables. The following simulated data has a similar structure to what you have specified. Run it and see if you get 8 plots. If so, the problem is probably related to your data:
data have; call streaminit(1); do number=1 to 4; age = 20 + ceil(20*rand("uniform")); do train=1 to 8; do j = 1 to 4; mt = rand("Normal"); y = 2 + age + 3*train - mt + rand("normal"); output; end; end; end; run; PROC GENMOD data=have; class number train /param=glm; model y= train age mt; effectplot fit (x=mt plotby=train)/obs; repeated subject=number/type=ar rupdate=2; run;