Acerca de… NA’s, valores perdidos.

June 29, 2012
By

This post was kindly contributed by Acerca de... » R - go there to comment and to read the full post.

Hola

Aun recuerdo como me ilusionó saber que si dentro del paréntesis de la media pones na.rm=T el R pasa de los NA.

> v<-c(1,2,3,NA,4)
> mean(v)
[1] NA
> mean(v,na.rm=T)
[1] 2.5

Por que esto es muy cómodo, de hecho lo puedes meter en tu propia función para la media:


# datos de ejemplo
> coches<-cars
# metamos un NA
> coches[10,1]<-NA
# la media
> apply(coches,MARGIN=2,FUN=mean)
speed  dist
NA 42.98
# nuestra función
> mimedia<-function(x) mean(x, na.rm=TRUE)
> apply(cars,MARGIN=2,FUN=mimedia)
speed  dist
15.40 42.98

Y meter la función mimedia donde te de la gana.
Así podia deshacerme de los puñeteros NA que no sabía muy bien de donde venian ni para que servian.

Claro, con el tiempo uno aprende que los NA dependiendo de donde vengan pueden significar cosas muy distintas y que a veces podemos ignorarlos.
Pero a veces conviene convertirlos en un valor interesante.

coches[is.na(coches)]<-"valorinteresante"

O borrarlos:

coches<-cars
coches[10,1]<-NA
coches.sin.na<-coches[!is.na(coches$speed),]

Esto viene a cuento de esta entrada donde explica como son los NA según de donde vengan. Sabiendo eso podemos trabajar de una forma u otra. Ya que a veces la distribución de los NA puede estar sesgada y entonces no vale borrarlos o ignorarlos.

jaume


Filed under: estadística, R Tagged: R cran, valores perdidos

Tags: , , ,

Comments are closed.