OPTIONS NOCENTER ; TITLE 'Mixed-effects Analyses of San Diego Homeless Data'; DATA one; INFILE 'C:\data\sandiego\sdhouse.DAT'; INPUT ID Housing Int Section8 Time1 Time2 Time3 Sect8T1 Sect8T2 Sect8T3 NonSect8 LinTime S8LinT ; IF Housing = 999 then Housing = .; /* NOMINAL RANDOM-INTERCEPT MODEL - adaptive quadrature */ PROC NLMIXED ; PARMS GA0=0 GA1=0 GA2=0 GA3=0 GA4=0 GA5=0 GA6=0 GA7=0 SDA=1 GB0=0 GB1=0 GB2=0 GB3=0 GB4=0 GB5=0 GB6=0 GB7=0 SDB=1; ZA = GA0 + GA1*TIME1 + GA2*TIME2 + GA3*TIME3 + GA4*SECTION8 + GA5*SECT8T1 + GA6*SECT8T2 + GA7*SECT8T3 + SDA*U; ZB = GB0 + GB1*TIME1 + GB2*TIME2 + GB3*TIME3 + GB4*SECTION8 + GB5*SECT8T1 + GB6*SECT8T2 + GB7*SECT8T3 + SDB*U; IF (HOUSING=0) THEN P = 1 / (1 + EXP(ZA) + EXP(ZB)); ELSE IF (HOUSING=1) THEN P = EXP(ZA) / (1 + EXP(ZA) + EXP(ZB)); ELSE IF (HOUSING=2) THEN P = EXP(ZB) / (1 + EXP(ZA) + EXP(ZB)); LL = LOG(P); MODEL HOUSING ~ GENERAL(LL); RANDOM U ~ NORMAL(0,1) SUBJECT=ID; ESTIMATE 'ICCA' SDA*SDA/(3.289868134+SDA*SDA); ESTIMATE 'ICCB' SDB*SDB/(3.289868134+SDB*SDB); RUN; /* NOMINAL RANDOM-INTERCEPT MODEL - adaptive quadrature - HELMERT CONTRASTS */ PROC NLMIXED ; PARMS GA0=0 GA1=0 GA2=0 GA3=0 GA4=0 GA5=0 GA6=0 GA7=0 SDA=1 GB0=0 GB1=0 GB2=0 GB3=0 GB4=0 GB5=0 GB6=0 GB7=0 SDB=1; ZA = GA0 + GA1*TIME1 + GA2*TIME2 + GA3*TIME3 + GA4*SECTION8 + GA5*SECT8T1 + GA6*SECT8T2 + GA7*SECT8T3 + SDA*U; ZB = GB0 + GB1*TIME1 + GB2*TIME2 + GB3*TIME3 + GB4*SECTION8 + GB5*SECT8T1 + GB6*SECT8T2 + GB7*SECT8T3 + SDB*U; IF (HOUSING=0) THEN P = EXP(-2/3*ZA) / (EXP(-2/3*ZA) + EXP(1/3*ZA - 1/2*ZB) + EXP(1/3*ZA + 1/2*ZB)); ELSE IF (HOUSING=1) THEN P = EXP(1/3*ZA - 1/2*ZB) / (EXP(-2/3*ZA) + EXP(1/3*ZA - 1/2*ZB) + EXP(1/3*ZA + 1/2*ZB)); ELSE IF (HOUSING=2) THEN P = EXP(1/3*ZA + 1/2*ZB) / (EXP(-2/3*ZA) + EXP(1/3*ZA - 1/2*ZB) + EXP(1/3*ZA + 1/2*ZB)); LL = LOG(P); MODEL HOUSING ~ GENERAL(LL); RANDOM U ~ NORMAL(0,1) SUBJECT=ID; ESTIMATE 'ICCA' SDA*SDA/(3.289868134+SDA*SDA); ESTIMATE 'ICCB' SDB*SDB/(3.289868134+SDB*SDB); RUN;