Type : CREATION_INTERNE
Los datos se generan íntegramente en el script a través de un Data Step utilizando bucles DO y generadores de números aleatorios (ranuni, rannor).
| 1 | DATA Mono2; |
| 2 | DO Grd= 6 to 8; |
| 3 | DO j=1 to 50; |
| 4 | |
| 5 | Grade= Grd; |
| 6 | IF (Grd=6) THEN DO; |
| 7 | IF (ranuni(999) > .80) THEN Grade= .; |
| 8 | END; |
| 9 | ELSE IF (ranuni(99) > .95) THEN Grade= .; |
| 10 | |
| 11 | IF (j < 26) THEN Study= 1; |
| 12 | ELSE Study= 0; |
| 13 | |
| 14 | Score0= 70 + 3*rannor(1); |
| 15 | IF (Score0 >= 100) THEN Score0= 100 - 10*ranuni(99); |
| 16 | |
| 17 | Score= Score0 + 2*rannor(99) + 2; |
| 18 | IF (Study = 1) THEN DO; |
| 19 | Score= Score + 3; |
| 20 | IF (Grd = 6) THEN Score= Score + 1; |
| 21 | IF (Grd = 8) THEN Score= Score + 3; |
| 22 | END; |
| 23 | |
| 24 | OUTPUT; |
| 25 | END; END; |
| 26 | drop Grd j; |
| 27 | RUN; |
| 1 | PROC PRINT DATA=Mono2(obs=10); |
| 2 | var Grade Score0 Score Study; |
| 3 | title 'First 10 Obs in the Student Test Data'; |
| 4 | RUN; |
| 1 | PROC MI DATA=Mono2 seed=34857 nimpute=20 out=outex17; |
| 2 | class Study Grade; |
| 3 | monotone logistic (Grade / link=glogit); |
| 4 | mnar adjust( Grade (event='6') /shift=2); |
| 5 | var Study Score0 Score Grade; |
| 6 | RUN; |
| 1 | PROC PRINT DATA=outex17(obs=10); |
| 2 | var _Imputation_ Grade Study Score0 Score; |
| 3 | title 'First 10 Observations of the Imputed Student Test Data Set'; |
| 4 | RUN; |