Estadística

Documentation Example 16 for PROC MI

This code is also available in: Deutsch English Français
Difficulty Level
Beginner
Published on :
Este script ilustra cómo realizar una imputación múltiple cuando se supone que los datos faltantes no son aleatorios (MNAR). Comienza creando un conjunto de datos sintético ('Fcs1') con valores faltantes simulados. Luego, utiliza `PROC MI` con la opción `FCS` (Fully Conditional Specification) y la instrucción `MNAR` para ajustar los valores imputados de las variables `y1` e `y2` específicamente para el grupo de tratamiento `Trt='1'`, aplicando desplazamientos (shift).
Data Analysis

Type : CREACIÓN_INTERNA


Los datos se generan artificialmente en el paso DATA `Fcs1` utilizando bucles y funciones de generación de números aleatorios (`rannor`, `ranuni`) para simular datos de ensayos clínicos.

1 Code Block
DATA STEP Data
Explanation :
Creación del conjunto de datos `Fcs1`. Genera variables `y0`, `y1`, `y2` basadas en una distribución normal e introduce aleatoriamente valores faltantes (`.`) para `y1` o `y2`.
Copied!
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 Code Block
PROC PRINT
Explanation :
Muestra las primeras 10 observaciones del conjunto de datos generado para verificación.
Copied!
1PROC PRINT DATA=Fcs1(obs=10);
2 var Trt Y0 Y1 Y2;
3 title 'First 10 Obs in the Trial Data';
4RUN;
3 Code Block
PROC MI Data
Explanation :
Ejecuta la imputación múltiple. Utiliza el método `FCS` con 25 iteraciones. La instrucción `MNAR` aplica un ajuste (desplazamiento de -0.4 para `y1` y -0.5 para `y2`) únicamente para las observaciones donde `Trt='1'`, simulando un sesgo para los datos faltantes.
Copied!
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 Code Block
PROC PRINT
Explanation :
Muestra las primeras 10 observaciones del conjunto de datos de salida `outex16`, que contiene los datos imputados.
Copied!
1PROC PRINT DATA=outex16(obs=10);
2 var _Imputation_ Trt y0 y1 y2;
3 title 'First 10 Observations of the Imputed Data Set';
4RUN;
This material is provided "as is" by We Are Cas. There are no warranties, expressed or implied, as to merchantability or fitness for a particular purpose regarding the materials or code contained herein. We Are Cas is not responsible for errors in this material as it now exists or will exist, nor does We Are Cas provide technical support for it.
Copyright Info : SAS SAMPLE LIBRARY, NAME: MIEX16, PRODUCT: STAT


Related Documentation

Aucune documentation spécifique pour cette catégorie.