BookmarkSubscribeRSS Feed
Calcite | Level 5


I have a dataset of ~25000 patients from ~1300 hospitals.  I would like to calculate the odds of receiving one of two treatments, then obtain the probability of treatment for each patient (for propensity score adjustment).  20 patients were selected from each hospital, with treatment=1 oversampled, so the data has been weighted (weight variable='selweight').


I would like to control for correlations between patients at the same hospitals , and let the correlations vary by hospital.  I have tried proc glimmix, with treatment='x', hospital code='oldfaccode' and patient id='puf_id', and a number of covariates, with an exchangeable correlation matrix:


proc glimmix data=raw_data;

oldfaccode puf_id dxyr (ref='2008') facility_type_cd (ref='2') facloc(ref='Northeast')  RACEcat (ref='White') hispanic (ref='0')
MED_INC_QUAR_12 (ref='1') NO_HSD_QUAR_12 (ref='1') metro13 (ref='0') insured (ref='1') charlson(ref='1')
er1 (ref='Negative/normal, within normal limits') pr1 (ref='Negative/normal, within normal limits') grade1 (ref="Grade I")
comedonecrosis1(ref='1) Present') detect_dcis1 (ref='1) Mammogram')

MODEL x= age dxyr facility_type_cd facloc RACEcat hispanic MED_INC_QUAR_12 NO_HSD_QUAR_12 charlson
metro13 insured er1 pr1 grade1 detect_dcis1 comedonecrosis1 /solution ;
subject=puf_id(oldfaccode) type=cs ;
random intercept/subject=oldfaccode type=cs; 
weight selweight;


In order to let the correlations vary between hospitals, I am using the statement


random intercept/subject=puf_id(oldfaccode) type=cs


Is this correct?  I'm not even sure if I am using the terminology correctly. 


Additionally, how do I output the predicted probabilities?


Thank you so much for any help!


Diamond | Level 26

I have never heard of the concept of "controlling for correlations ". What does it mean? Is this something commonly done with this type of model? 

Paige Miller


Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.


Register now!

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
  • 1 reply
  • 2 in conversation