Statistics

Documentation Example 16 for PROC MI

Este código también está disponible en: Deutsch Español Français
Nivel de dificultad
Principiante
Publicado el :
This script illustrates how to perform multiple imputation when missing data are assumed to be Missing Not At Random (MNAR). It begins by creating a synthetic dataset ('Fcs1') with simulated missing values. Then, it uses `PROC MI` with the `FCS` (Fully Conditional Specification) option and the `MNAR` statement to adjust the imputed values of variables `y1` and `y2` specifically for the treatment group `Trt='1'`, by applying shifts.
Análisis de datos

Type : CREATION_INTERNE


The data are artificially generated in the DATA step `Fcs1` using loops and random number generation functions (`rannor`, `ranuni`) to simulate clinical trial data.

1 Bloque de código
DATA STEP Data
Explicación :
Creation of the `Fcs1` dataset. Generates `y0`, `y1`, `y2` variables based on a normal distribution and randomly introduces missing values (`.`) for `y1` or `y2`.
¡Copiado!
1DATA Fcs1;
2 DO Trt=0 to 1;
3 DO j=1 to 5;
4 y0=10 + rannor(99);
5 y1= y0 + 0.9*Trt + rannor(99);
6 y2= y0 + 0.9*Trt + rannor(99);
7 IF (ranuni(99) < 0.3) THEN y1=.;
8 ELSE IF (ranuni(99) < 0.3) THEN y2=.;
9 OUTPUT;
10 END; END;
11 DO Trt=0 to 1;
12 DO j=1 to 45;
13 y0=10 + rannor(99);
14 y1= y0 + 0.9*Trt + rannor(99);
15 y2= y0 + 0.9*Trt + rannor(99);
16 IF (ranuni(99) < 0.3) THEN y1=.;
17 ELSE IF (ranuni(99) < 0.3) THEN y2=.;
18 OUTPUT;
19 END; END;
20 drop j;
21RUN;
2 Bloque de código
PROC PRINT
Explicación :
Displays the first 10 observations of the generated dataset for verification.
¡Copiado!
1PROC PRINT DATA=Fcs1(obs=10);
2 var Trt Y0 Y1 Y2;
3 title 'First 10 Obs in the Trial Data';
4RUN;
3 Bloque de código
PROC MI Data
Explicación :
Performs multiple imputation. Uses the `FCS` method with 25 iterations. The `MNAR` statement applies an adjustment (shift of -0.4 for `y1` and -0.5 for `y2`) only for observations where `Trt='1'`, simulating a bias for missing data.
¡Copiado!
1PROC MI DATA=Fcs1 seed=52387 out=outex16;
2 class Trt;
3 fcs nbiter=25 reg( /details);
4 mnar adjust( y1 /shift=-0.4 adjustobs=(Trt='1'))
5 adjust( y2 /shift=-0.5 adjustobs=(Trt='1'));
6 var Trt y0 y1 y2;
7RUN;
4 Bloque de código
PROC PRINT
Explicación :
Displays the first 10 observations of the output dataset `outex16`, which contains the imputed data.
¡Copiado!
1PROC PRINT DATA=outex16(obs=10);
2 var _Imputation_ Trt y0 y1 y2;
3 title 'First 10 Observations of the Imputed Data Set';
4RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : SAS SAMPLE LIBRARY, NAME: MIEX16, PRODUCT: STAT


Documentación relacionada

Aucune documentation spécifique pour cette catégorie.