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]]
Hola Carlos, Qué quieres hacer exactamente? Lo que intentas tiene poco sentido. A lo mejor si nos indicas qué estás buscando sea más fácil ayudarte. Saludos, Jorge.- El El dom, 25 de sep. de 2022 a la(s) 8:48 p. m., Ricardo Alva < Kalo_Alva en 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 en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Sent from my phone. Please excuse my brevity and misspelling. [[alternative HTML version deleted]]
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 en 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 en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es