Hi Gautam,
Thanks for your reply. I took your test case, extended it to the number of observations I have, and started substituting in actual data for each of the variables. I found that using actual data for the nominal variable is what "broke" it.
Where I'd gone wrong was by doing:
Xd = 1:3; % raw data was in double format
X = nominal(Xd); % reflect that its actually nominal data
X = X(Xd ~=3); % don't fit the lme model using data from category 3
so I think X in this case is still being internally represented by 2 dummy variables, 1 of which is never true once I remove the X == 3 cases, which then causes the rank deficiency in the predictor matrix.
As a side note, using the X from above, isequal(X, nominal(1:2)) returns true, despite them representing different things.
So once again thanks for your help, and I'm happy to call this "solved"
Andrew
"Gautam Pendse" <
gautam...@mathworks.com> wrote in message <l46osv$acl$
1...@newscl01ah.mathworks.com>...