Foro de debate

Dudas con datos "Nor avaible"

 
Imagen de Cristina Alonso
Dudas con datos "Nor avaible"
de Cristina Alonso - miércoles, 21 de septiembre de 2016, 13:55
 

Buenas tardes,

estoy trabajando con R haciendo correlacioens, mi tabla matriz tiene bastantes casillas en blanco (no hay muestra), que en R aparecen como NA.

Cuando hago las correlaciones, con varias variables, función "cor", el resultado es NA.

Siguiendo el enlace: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/na.fail.html, he omitido los valores en blanco con la función: "na.omit".....pero ahora no se exactamente qué ha hecho el programa pues me da unos resultados sin NA pero posiblemente se han descolocado los demás resultados. Otra pregunta es: cómo dehago la función "na.omit"?

Alguien me puede ayudar con este tema?


Gracias

Imagen de Manuel Muñoz Márquez
Re: Dudas con datos "Nor avaible"
de Manuel Muñoz Márquez - miércoles, 21 de septiembre de 2016, 23:33
 

Buenas:

Cuando una operación aritmética involucra a un NA el resultado siempre es NA y así debe ser 3 + NA no puede ser otra cosa que NA, ya que de lo contrario se podría deducir el valor de NA y ya no sería NA.

> x <- c(2, NA, 4)
> sum(x)
[1] NA

Algunos operadores como sum, mean e incluso cor tienen un argumento opcional (na.rm = na remove) que permite hacer la operación ignorando los valores faltantes

> sum(x, na.rm = TRUE)
[1] 6

na.omit no modifica el conjunto de datos, sino que devuelve otro conjunto de datos omitiendo las filas en las que falte algún dato. Por tanto, el resultado que has obtenido es correcto.

Además, R almacena los conjuntos de datos (y cualquier objeto) en memoria, lo que significa que puedes modificarlos a tu antojo y lo único que se modificará es la copia de los datos que tienes en memoria. Al reiniciar R todo vuelve a estar como estaba. Para que los cambios realizados en los datos se almacenen debes guardarlos expresamente.

Un saludo.

Imagen de Cristina Alonso
Re: Dudas con datos "Not avaible"
de Cristina Alonso - jueves, 22 de septiembre de 2016, 09:11
 

Muchas gracias Manuel por la respuesta!

Lo haré como me dices con na.rm=TRUE, el comando sería el siguiente:

> cor (z, na.rm=TRUE)

donde "z" es el conjunto de variables que quiero correlacionar, cada una en una columna. Esto estaría bien?

Un saludo!

Imagen de Cristina Alonso
Re: Dudas con datos "Nor avaible"
de Cristina Alonso - jueves, 22 de septiembre de 2016, 09:46
 

Hola de nuevo Manuel,

no me funciona na.rm me da : error cor(z, na.rm = TRUE) : unused argument (na.rm = TRUE)

si sólo hago cor(z), todo NA:

  1     NA    NA  NA   NA    NA     NA         NA

l.C        NA      1    NA  NA   NA    NA     NA         NA

l.d         NA     NA     1  NA   NA    NA     NA         NA

l.P           NA     NA    NA   1   NA    NA     NA         NA

l.S         NA     NA    NA  NA    1    NA     NA         NA

l.s       NA     NA    NA  NA   NA     1     NA         NA

l.t       NA     NA    NA  NA   NA    NA      1         NA

l.z   NA     NA    NA  NA   NA    NA     NA          1


gracias!

Imagen de Manuel Muñoz Márquez
Re: Dudas con datos "Nor avaible"
de Manuel Muñoz Márquez - jueves, 22 de septiembre de 2016, 11:18
 

Buenas:

En la ayuda de cor aparece el argumento na.rm para cor, pero parece que no lo admite.

Puedes usar cor con el argumento use. Si pones use='pairwise.complete.obs' utiliza todas las parejas para las que existan datos. na.omit omitiría toda la fila y por tanto no usaría ningún dato de la fila del perdido.

> m <- diag(4)
> m[1,1]<-NA
> m[2,3]<-NA
> cor(m, use='pairwise.complete.obs')
     [,1]       [,2] [,3]       [,4]
[1,]   NA         NA   NA         NA
[2,]   NA  1.0000000   NA -0.3333333
[3,]   NA         NA  1.0 -0.5000000
[4,]   NA -0.3333333 -0.5  1.0000000

Un saludo.

Imagen de Cristina Alonso
Re: Dudas con datos "Nor avaible"
de Cristina Alonso - jueves, 22 de septiembre de 2016, 19:01
 

Gracias!!!

sí!!! al fín lo tengo!!!

Saludos!

Imagen de María Jesús Pacheco Orellana
Re: Dudas con datos "Nor avaible"
de María Jesús Pacheco Orellana - viernes, 7 de septiembre de 2018, 12:53
 

Buenas tardes,

¿Hay alguna función o forma de saber con cuantas parejas de datos ha obtenido el resultado de cada una de las correlaciones?

Saludos,

MJ