I have a data in structure like below, with subjects (subjid prefixed with clinic id) from different clinics, the subjid is unique across clinics and they are randomly assigned treatment or placebo (fixed effect). There are multiple visits for each subject. SUBJID TRT STRATA CLINIC VISIT OUTCOME 01-01 T S1 01 1 8.9 01-01 T S1 01 2 10.2 01-01 T S1 01 3 14.1 02-03 C S2 02 1 5.4 02-03 C S2 02 2 5.9 02-03 C S2 02 3 8.7 02-04 C S1 02 1 2.3 02-04 C S1 02 2 . 02-04 C S1 02 3 4.5 02-06 T S2 02 1 5.8 02-06 T S2 02 2 7.9 02-06 T S2 02 3 . The goal is to analyze treatment effect on the outcome at each visit given strata as covariates. So a repeated measure is used here: PROC MIXED data=data;
CLASS subjid trt strata visit;
MODEL outcome = trt strata visit*trt/ DDFM=kr;
REPEATED visit/ SUBJECT=subjid TYPE=un;
LSMEANS trt trt*visit/ CL;
RUN; Now, considering the enrollment is quite unbalanced among clinics, I'd like to take clinic into consideration as well, where the clinic should serve as a random effect since they are just randomly picked. Will it work by simply appending a RANDOM statement on clinic like below? PROC MIXED data=data;
CLASS subjid trt strata visit;
MODEL outcome = trt strata visit*trt/ DDFM=kr;
REPEATED visit/ SUBJECT=subjid TYPE=un;
RANDOM clinic;
LSMEANS trt trt*visit/ CL;
RUN; Or does it make sense to put subjid nested within clinic or trt? PROC MIXED data=data;
CLASS subjid trt strata visit;
MODEL outcome = trt strata visit*trt/ DDFM=kr;
REPEATED visit/ SUBJECT=subjid TYPE=un;
RANDOM clinic subjid(clinic); /* or RANDOM clinic subjid(trt) */
LSMEANS trt trt*visit/ CL;
RUN; By the way, in my real data, where I have 40 clinics with 160 subjects. If both clinic and subjid(clinic) are used in RANDOM statement, SAS will report an error saying run out of memory. Is it due to too many clinics relative to sample size or it just shall not work with both subject and clinic in RANDOM statement? What exactly is the way to take clinic (random effect) into consideration? Please help!
... View more