BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
RyanDHS
Calcite | Level 5

Moved from Programming board.

 

I have data at the level of US Counties (level 1) nested within their respective State (level 2) and I have both predictors at the county level and the state level. My understanding was always that Proc Mixed determines the level of the variable in the model based on whether there is variability at each level. In this example, I have the population of the county (pop10) as a predictor and the way the state votes relative to others (CPVI), both ratio scales. My syntax is below:

 

proc mixed data = sor covtest ;
class STATE ;
model SORgc = pop10 CPVI /s DDFM=sat ;
random int / sub=STATE ;
ods output SolutionR = Res2;
run;

 

The ODS output gives me:

 

WARNING: Output 'SolutionR' was not created. Make sure that the output object name, label, or
path is spelled correctly. Also, verify that the appropriate procedure options are used
to produce the requested output object. For example, verify that the NOPRINT option is
not used.

 

because there are no level 2 residuals and the degrees of freedom suggest it is treating my level 2 variable CVPI as a level 1 predictor. I've attached the data file. I've checked that there is no variance in the variables at the state level (see second tab in excel sheet) and made sure everything is a number and everything I can possibly think of. SAS is doing the grouping right because it shows the number of subjects correctly (not all states are included).  Am I missing something really obvious? The degrees of freedom for a level 2 predictor should be less than the number of level 2 groups, right? I'm not going insane?

RyanDHS_0-1723135775970.png

 

RyanDHS_1-1723135775928.png

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
jiltao
SAS Super FREQ

What happens if you specify ddfm=bw in the MODEL statement?

Thanks,

Jill

View solution in original post

5 REPLIES 5
jiltao
SAS Super FREQ

You need to add the SOLUTION (or S) option in the RANDOM statement in order to obtain the SolutionR ODS table.

Jill

RyanDHS
Calcite | Level 5

Yes, that was rather silly of me.  I still don't appear to be getting the correct degrees of freedom for my level 2 effect.

RyanDHS
Calcite | Level 5
Am I correct in concluding that the Den Degrees of Freedom being the same for what should be level 1 and level 2 variables implies that both are being treated as level 1?
jiltao
SAS Super FREQ

What happens if you specify ddfm=bw in the MODEL statement?

Thanks,

Jill

RyanDHS
Calcite | Level 5

Hey, that worked!  *furiously reads notes on ddfm=bw*

 

Okay I'm not sure why this isn't the default but at least it makes sense why I haven't had this problem before because I am usually doing models with the repeated statement where it is the default. This all at least makes sense now, I really started questioning everything I knew about multi-level models. Thank you for your guidance!

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 5 replies
  • 847 views
  • 1 like
  • 2 in conversation