Statistique

Documentation Example 16 for PROC MI

Este código también está disponible en: Deutsch English Español
Nivel de dificultad
Principiante
Publicado el :
Ce script illustre comment effectuer une imputation multiple lorsque les données manquantes sont supposées ne pas être aléatoires (MNAR). Il commence par créer un jeu de données synthétique ('Fcs1') avec des valeurs manquantes simulées. Ensuite, il utilise `PROC MI` avec l'option `FCS` (Fully Conditional Specification) et l'instruction `MNAR` pour ajuster les valeurs imputées des variables `y1` et `y2` spécifiquement pour le groupe de traitement `Trt='1'`, en appliquant des décalages (shift).
Análisis de datos

Type : CREATION_INTERNE


Les données sont générées artificiellement dans l'étape DATA `Fcs1` à l'aide de boucles et de fonctions de génération de nombres aléatoires (`rannor`, `ranuni`) pour simuler des données d'essai clinique.

1 Bloque de código
DATA STEP Data
Explicación :
Création du jeu de données `Fcs1`. Génère des variables `y0`, `y1`, `y2` basées sur une distribution normale et introduit aléatoirement des valeurs manquantes (`.`) pour `y1` ou `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 :
Affiche les 10 premières observations du jeu de données généré pour vérification.
¡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 :
Exécute l'imputation multiple. Utilise la méthode `FCS` avec 25 itérations. L'instruction `MNAR` applique un ajustement (décalage de -0.4 pour `y1` et -0.5 pour `y2`) uniquement pour les observations où `Trt='1'`, simulant un biais pour les données manquantes.
¡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 :
Affiche les 10 premières observations du jeu de données de sortie `outex16`, qui contient les données imputées.
¡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.