[R-es] error en matriz de correlación

Ricardo Alva k@|o_@|v@ @end|ng |rom hotm@||@com
Lun Sep 26 14:11:06 CEST 2022


Muchas gracias por la aclaración, ya me estaba preocupando jajajaja.



Enviado desde mi Galaxy



-------- Mensaje original --------
De: Marcelino de la Cruz Rot <marcelino.delacruz using urjc.es>
Fecha: 26/9/2022 2:19 a. m. (GMT-05:00)
A: r-help-es using r-project.org
Asunto: Re: [R-es] error en matriz de correlación

Hola Ricardo:

Es correcto lo que dices de declarar las variables según su tipo. El
"problema" con cor() es que explícitamente requiere que las variables
sean numéricas. Sin embargo, cuando calcula el coeficiente de
correlación de Kendall (o el de Spearman) lo hace en función del *orden*
de los valores de esa variable numérica.
Es decir, no es R el que sabe que Kendall es la prueba que corresponde a
tus datos, sino tú como usuario, y por eso te pide que incluyas el
argumento method = "kendall" cuando los datos son ordinales (o cuando
son numéricos pero por su distribución no puedes confiar en la
aproximación de Pearson).

Un saludo,
Marcelino


El 26/09/2022 a las 9:00, Ricardo Alva escribió:
> Amigos gracias por sus respuestas. Disculpen mi ignorancia, pero no se
> supone que antes de que empezar a trabajar con el data frame, no se
> debe de declarar el tipo de variable que le corresponde a cada una y
> así el sistema reconozca si la variable es numérica, ordinal,
> dicotómoca o categorica? Por ejemplo en este caso, si le pongo
> numérica a todas las variables, el sistema como va saber que kendall
> es la prueba que le corresponde a mis datos dado que son ordinales, o
> este tema de numéricas es sólo una excepción para que corra el algoritmo?
>
> Siempre trabajo declarando previamente las variables y no he tenido
> inconvenientes para ejecutar por ejemplo kmedias, kmodas, kprototipe,
> PCA, FAMD, o lo estoy haciendo mal?
>
> Agradesco sus comentarios.
>
>
>
>
>
> Enviado desde mi Galaxy
>
>
>
> -------- Mensaje original --------
> De: Marcelino de la Cruz Rot <marcelino.delacruz using urjc.es>
> Fecha: 26/9/2022 1:06 a. m. (GMT-05:00)
> A: r-help-es using r-project.org
> Asunto: Re: [R-es] error en matriz de correlación
>
> Hola Ricardo:
>
> Por precisar lo que dice Emilio, la conversión debe hacerse por
> columnas, por ejemplo:
>
> a <- apply(a, 2, as.numeric)
>
> Un saludo,
> Marcelino
>
>
> El 26/09/2022 a las 7:54, Emilio L. Cano escribió:
> > Hola Ricardo,
> >
> > Tienes que convertir las variables a numéricas, como indica el error
> y la ayuda de la función. Como tus valores están ordenados,
> simplemente convierte con as.numeric() y ya te funcionará.
> >
> > Un saludo,
> >
> > Emilio L. Cano
> > http://emilio.lcano.com
> >
> >
> >
> >
> >> El 26 sept 2022, a las 3:48, Ricardo Alva <Kalo_Alva using hotmail.com>
> escribió:
> >>
> >> Amigos buen día.
> >> Estoy intentando generar la matriz de correlaciones por cualquiera
> de los 3 métodos de la función cor, pero siempre me arroja el mismo error.
> >>
> >> cor(a,method = 'kendall')
> >> Error in cor(a, method = "kendall") : 'x' must be numeric
> >>
> >> a es un data frame con 61 filas, compuesto de 5 variables, todas
> ordinales y cargadas desde un archivo de excel que mantiene la
> siguiente forma:
> >> agencia|personeria|constitucion|producto|actividad
> >> 1           1           2        1        1
> >> 2           1           5        1        1
> >> 2           2           4            1        5
> >> 2           2           2            4        1
> >>
> >> He tratado consignado todas las variables como ordinales y luego
> también como factor, pero me sigue saliendo el mismo error, por mas
> que elijo cualquier método de correlación.
> >>
> >> #Convirtiendo todas las variables a factor:
> >> str(a)
> >> 'data.frame':     61 obs. of  5 variables:
> >> $ agencia     : Factor w/ 3 levels "1","2","3": 1 2 2 2 2 2 1 2 2 2 ...
> >> $ personeria  : Factor w/ 2 levels "1","2": 1 1 1 1 1 2 1 2 2 2 ...
> >> $ constitucion: Factor w/ 5 levels "1","2","3","4",..: 2 2 2 2 5 2
> 1 3 4 5 ...
> >> $ producto    : Factor w/ 2 levels "1","4": 1 1 1 1 1 1 1 1 1 1 ...
> >> $ actividad   : Factor w/ 5 levels "1","2","3","4",..: 1 1 1 1 1 1
> 5 1 3 2 ...
> >>
> >> #Convirtiendo todas las variables a ordinales.
> >> str(a)
> >> 'data.frame':     61 obs. of  5 variables:
> >> $ agencia     : Ord.factor w/ 3 levels "1"<"2"<"3": 1 2 2 2 2 2 1 2
> 2 2 ...
> >> $ personeria  : Ord.factor w/ 2 levels "1"<"2": 1 1 1 1 1 2 1 2 2 2 ...
> >> $ constitucion: Ord.factor w/ 5 levels "1"<"2"<"3"<"4"<..: 2 2 2 2
> 5 2 1 3 4 5 ...
> >> $ producto    : Ord.factor w/ 2 levels "1"<"4": 1 1 1 1 1 1 1 1 1 1 ...
> >> $ actividad   : Ord.factor  w/ 5 levels "1"<"2"<"3"<"4",..: 1 1 1 1
> 1 1 5 1 3 2 ...
> >>
> >> Por favor alguien que me pueda decir que estoy haciendo mal, o es
> que las variables en el archivo de excel deben de estar en texto?, lo
> cual me parecería algo raro.
> >>
> >>
> >>       [[alternative HTML version deleted]]
> >>
> >> _______________________________________________
> >> R-help-es mailing list
> >> R-help-es using r-project.org
> >> https://stat.ethz.ch/mailman/listinfo/r-help-es
> > _______________________________________________
> > R-help-es mailing list
> > R-help-es using r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>
> --
> Marcelino de la Cruz Rot
> Depto. de Biología y Geología
> Física y Química Inorgánica
> Universidad Rey Juan Carlos
> Móstoles España
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es


--
Marcelino de la Cruz Rot
Depto. de Biología y Geología
Física y Química Inorgánica
Universidad Rey Juan Carlos
Móstoles España

_______________________________________________
R-help-es mailing list
R-help-es using r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es