Duda que me plantearon ayer por la tarde: dada una serie de variables, determinar qué registro tiene todas esas variables nulas. El truco que planteo puede servir para determinar incluso cuántos valores perdidos tiene esa lista de variables; ese truco me lo reservo para otro día. El código lo acompaño con un ejemplo para que se pueda ejecutar y analizar su funcionamiento:
/* GENERAMOS DATOS ALEATORIOS CON MISSING */
data aleatorio;
do i = 1 to 20000;
aleat1 = sqrt(rannor(45));
aleat2 = sqrt(rannor(5));
aleat3 = sqrt(rannor(4));
aleat4 = sqrt(rannor(450));
aleat5 = sqrt(rannor(40));
output;
end;
run;
/* IDENTIFICAMOS FILAS COMPLETAMENTE NULAS */
data fila_nula;
set aleatorio;
nulo = 0;
array varib(*) aleat1--aleat5;
do j = 1 to dim(varib);
if not missing(varib(j)) then nulo = 1;
end;
drop j;
if nulo = 0;
run;
Muy sencillo el truco. Si se encuentra alguna variable que no es nula, la variable nulo ya no toma el valor 0. Espero que os sea de utilidad. Saludos.