Date: Wed, 23 Jun 2010 14:10:28 -0700
Reply-To: mlhoward@avalon.net
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Mary <mlhoward@AVALON.NET>
Subject: Re: proc mixed levels, one level missing
Content-Type: text/plain; charset="UTF-8"
Given that it is one less, one suspect cause might be the way it is creating dummy variables between the two procedures; in logistic it will create the same number of dummy variables as classes (which wasn't the way I was taught in school), and to get the reference coding you need to specifically say that you want it, like this:
proc logistic..
class period(param=ref ref='basevalue');
Where you put in the value of the base value. I'm not sure about how mixed does the reference coding, but perhaps that is the difference; it might not hurt to try it out.
-Mary
--- anwestover@SBCGLOBAL.NET wrote:
From: Arthur Westover <anwestover@SBCGLOBAL.NET>
To: SAS-L@LISTSERV.UGA.EDU
Subject: proc mixed levels, one level missing
Date: Wed, 23 Jun 2010 11:30:33 -0700
I am running a proc mixed procedure. I have a variable 'period' that has 10 different values. I have confirmed this using proc freq.
When I run proc mixed, I only have 9 levels for the variable 'period.' The number of levels for the other variables appear to be correct.
When I try using proc logistic, and throw in 'period', there are 10 levels. I don't know what the problem is.
Here is my proc mixed statement:
PROC MIXED data= big2 order=data;
CLASS period VarC VarD VarE VarF VarG VarH;
MODEL sysbp= VarA VarB VarE VarH VarF VarI VarJ cpd
pilus
VarC|VarG|period/ ddfm=kr(firstorder);
repeated / type=ar(1) sub=VarD(VarC);
lsmeans VarC VarE VarG VarF/ cl diff;
lsmeans VarC*period*VarG / diff cl slice=(period VarC VarG);
lsmeans VarC*VarG / diff cl slice=(VarC VarG);
lsmeans VarC*period / diff cl slice=(VarC period);
lsmeans VarG*period / diff cl slice=(VarG period);
lsmeans period / cl diff;
run;