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 = .; /* PROPORTIONAL ODDS RANDOM-INTERCEPT MODEL - adaptive quadrature */ PROC NLMIXED ; PARMS B0=0 B1=0 B2=0 B3=0 B4=0 B5=0 B6=0 B7=0 SD=1 I1=1; Z = B0 + B1*TIME1 + B2*TIME2 + B3*TIME3 + B4*SECTION8 + B5*SECT8T1 + B6*SECT8T2 + B7*SECT8T3+ U; IF (HOUSING=0) THEN P = 1 / (1 + EXP(-(0-Z))); ELSE IF (HOUSING=1) THEN P = (1/(1 + EXP(-(I1-Z)))) - (1/(1 + EXP(-(0-Z)))); ELSE IF (HOUSING=2) THEN P = 1 - (1 / (1 + EXP(-(I1-Z)))); LL = LOG(P); MODEL HOUSING ~ GENERAL(LL); RANDOM U ~ NORMAL(0,SD*SD) SUBJECT=ID; ESTIMATE 'THRESH2' I1; ESTIMATE 'ICC' SD*SD/(3.289868134+SD*SD); RUN; /* NON-PROPORTIONAL ODDS RANDOM-INTERCEPT MODEL - adaptive quadrature */ PROC NLMIXED ; PARMS B0=0 GA1=0 GA2=0 GA3=0 GA4=0 GA5=0 GA6=0 GA7=0 GB1=0 GB2=0 GB3=0 GB4=0 GB5=0 GB6=0 GB7=0 SD=1 I1=1; ZA = B0 + GA1*TIME1 + GA2*TIME2 + GA3*TIME3 + GA4*SECTION8 + GA5*SECT8T1 + GA6*SECT8T2 + GA7*SECT8T3+ U; ZB = B0 + GB1*TIME1 + GB2*TIME2 + GB3*TIME3 + GB4*SECTION8 + GB5*SECT8T1 + GB6*SECT8T2 + GB7*SECT8T3+ U; IF (HOUSING=0) THEN P = 1 / (1 + EXP(-(0-ZA))); ELSE IF (HOUSING=1) THEN P = (1/(1 + EXP(-(I1-ZB)))) - (1/(1 + EXP(-(0-ZA)))); ELSE IF (HOUSING=2) THEN P = 1 - (1 / (1 + EXP(-(I1-ZB)))); LL = LOG(P); MODEL HOUSING ~ GENERAL(LL); RANDOM U ~ NORMAL(0,SD*SD) SUBJECT=ID; ESTIMATE 'THRESH2' I1; ESTIMATE 'ICC' SD*SD/(3.289868134+SD*SD); RUN;