El script comienza con la generación de un conjunto de datos sintético llamado 'Mono1' que contiene valores faltantes en la variable 'y1'. Luego, utiliza PROC MI para imputar estos valores faltantes. El método de imputación elegido es la regresión monótona con detalles mostrados. Se hace una consideración particular para los datos faltantes no aleatorios (MNAR) en 'y1', modelados en función del grupo de tratamiento 'Trt' cuando 'Trt' es igual a '0'. El conjunto de datos imputado se guarda en 'outex15'. Se utilizan procedimientos PROC PRINT para mostrar una vista previa de los datos originales e imputados.
Análisis de datos
Type : CREATION_INTERNE
El conjunto de datos inicial 'Mono1' se crea directamente en el script a través de un DATA STEP utilizando funciones de generación de números aleatorios (rannor, ranuni). El conjunto de datos 'outex15' es el resultado de la imputación realizada por PROC MI.
1 Bloque de código
DATA STEP Data
Explicación : Este bloque DATA STEP crea el conjunto de datos 'Mono1'. Genera observaciones para dos grupos de tratamiento (Trt=0 y Trt=1) con variables 'y0' e 'y1'. La variable 'y1' se hace condicionalmente faltante (valor '.') para aproximadamente el 30% de las observaciones, simulando así un escenario de datos faltantes.
¡Copiado!
data Mono1;
do Trt=0 to 1;
do j=1 to 5;
y0=10 + rannor(999);
y1= y0 + Trt + rannor(999);
if (ranuni(999) < 0.3) then y1=.;
output;
end; end;
do Trt=0 to 1;
do j=1 to 45;
y0=10 + rannor(999);
y1= y0 + Trt + rannor(999);
if (ranuni(999) < 0.3) then y1=.;
output;
end; end;
drop j;
run;
1
DATA Mono1;
2
DO Trt=0 to 1;
3
DO j=1 to 5;
4
y0=10 + rannor(999);
5
y1= y0 + Trt + rannor(999);
6
IF (ranuni(999) < 0.3) THEN y1=.;
7
OUTPUT;
8
END; END;
9
10
DO Trt=0 to 1;
11
DO j=1 to 45;
12
y0=10 + rannor(999);
13
y1= y0 + Trt + rannor(999);
14
IF (ranuni(999) < 0.3) THEN y1=.;
15
OUTPUT;
16
END; END;
17
drop j;
18
RUN;
2 Bloque de código
PROC PRINT
Explicación : Este PROC PRINT muestra las primeras 10 observaciones del conjunto de datos 'Mono1' para dar una vista previa de la estructura de los datos antes de la imputación. Solo las variables 'Trt', 'Y0' e 'Y1' se incluyen en la salida.
¡Copiado!
proc print data=Mono1(obs=10);
var Trt Y0 Y1;
title 'First 10 Obs in the Trial Data';
run;
1
PROC PRINTDATA=Mono1(obs=10);
2
var Trt Y0 Y1;
3
title 'First 10 Obs in the Trial Data';
4
RUN;
3 Bloque de código
PROC MI
Explicación : Este PROC MI realiza la imputación múltiple de valores faltantes en el conjunto de datos 'Mono1'. Utiliza la semilla '14823' para la reproducibilidad y genera 15 conjuntos de datos imputados, almacenados en 'outex15'. Se especifica el método 'monotone reg' para la imputación por regresión monótona, con la opción 'details' para información adicional. La cláusula 'mnar' indica que 'y1' es Missing Not At Random, y su modelo está condicionado por 'Trt' siendo '0'.
¡Copiado!
proc mi data=Mono1 seed=14823 nimpute=15 out=outex15;
class Trt;
monotone reg (/details);
mnar model( y1 / modelobs= (Trt='0'));
var y0 y1;
run;
Explicación : Este PROC PRINT muestra las 10 primeras observaciones del conjunto de datos imputado 'outex15'. Esto permite visualizar los resultados de la imputación múltiple realizada por PROC MI.
¡Copiado!
proc print data=outex15(obs=10);
title 'First 10 Observations of the Imputed Data Set';
run;
1
2
PROC PRINT
3
DATA=outex15(obs=10);
4
title 'First 10 Observations of the Imputed
5
Data Set';
6
RUN;
7
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 : BIBLIOTECA DE EJEMPLOS SAS
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.