Missing

Trucos SAS. Lista de variables missing

Duda que me plantearon ayer por la tarde. Dada una serie de variables determinar que registro tiene todas esas variables nulas. El truco que planteo puede servir para determinar incluso cuantos valores perdidos tiene esa lista de variables, ese truco me le reservo para otro día. El código lo acompaño con un ejemplo para que se pueda ejecutar y analizar su funcionamiento:

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;

data fila_nula;
set aleatorio;
nulo=0;
array varib(*) aleat1--aleat5;
do j=1 to dim(varib);
if not missing(varib(j)) then nulo=i;
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 valor 0. Espero que os sea de utilidad. Saludos.

Truco R. Valores perdidos a 0, ejemplo de uso de sapply

Muy habitual partinos la cabeza con valores perdidos en R. Los NA pueden darnos algún quebradero de cabeza. Este truco es muy sencillo, transforma valores missing a 0 y nos sirve para aplicar funciones a data.frame con la función sapply. Veamos el sencillo ejemplo:

x=c(1,23,5,9,0,NA)

y=c(5,45,NA,78,NA,34)

dataf=data.frame(cbind(x,y))

mean(datafx,na.rm=TRUE)

mean(datafy,na.rm=TRUE)

#Podría interesarnos tener en cuenta los NAs

sum(datafx,na.rm=TRUE)/nrow(dataf)

sum(datafy,na.rm=TRUE)/nrow(dataf)

Tenemos un data.frame con dos variables que contienen valores perdidos, deseamos crear una función que pase estos valores a 0 y aplicarlo al data.frame de partida:

¿Qué hacer con los valores perdidos de nuestras variables?

Creo que casi todos los que han hecho modelos matemáticos alguna vez en su vida se han encontrado con la pregunta que titula este breve artículo. Aunque más que artículo es una reflexión y sobre todo espero que al final sea un pequeño foro de ideas y de métodos con los que hacer frente a este problema.

Lo primero que me planteraría yo es: ¿por qué perdemos datos? Podemos tener una imperfección a la hora de recoger la información y podría ayudarnos a mejorar el proceso. También un valor perdido puede ser un valor en si mismo. No es lo mismo tener un consumo de 0 euros con un teléfono móvil que no tener teléfono móvil, sin embargo si sabemos que tenemos teléfono móvil un valor perdido es un 0 ya que no aparece el consumo en nuestros sistemas; en la telefonía este es un caso prototípico de valor perdido. Otro ejemplo es la medición de un paciente que ha abandonado el estudio, en este caso el dato recogido es nulo, y debemos evaluar si tener en cuenta ese registro para nuestro estudio. El primer paso ante un análisis de los valores perdidos es definir «valor perdido».