Interpretación de errores en R: ‘max’ no es significativo para los factores

En un momento u otro, puede encontrar el siguiente error en R:

'max' no es significativo para los factores

Esto simplemente indica que está intentando tomar el ‘máximo’ de una variable que es del factor de clase .

Por ejemplo, este error se produce si intentamos tomar el máximo del siguiente vector:

#create un vector de clase vector
 factor_vector <- as.factor (c (1, 7, 12, 14, 15))

#intento de encontrar el valor máximo en el vector
max (factor_vector)

#Error en Summary.factor (1: 5, na.rm = FALSE): 
# 'max' no es significativo para los factores

Por definición, los valores en un vector de factores son de clase nominal, lo que significa que no hay un orden significativo de los valores. Por lo tanto, no se puede encontrar un valor ‘máximo’.

Una solución simple para encontrar el máximo de un vector de factor es simplemente convertirlo en un vector de caracteres y luego en un vector numérico:

#convertir vector de factor a vector numérico y encontrar el valor máximo
nuevo_vector <- as.numeric (as.character (factor_vector))
max (nuevo_vector)

# [1] 15

Si su vector de factores simplemente contiene los nombres de los factores, entonces no es posible encontrar el valor máximo, incluso después de convertir el vector de factores en un vector numérico, ya que no es necesario encontrar el ‘máximo’ de una lista de nombres.

#create factor vector con nombres de factores
factor_vector <- as.factor (c ("primero", "segundo", "tercero"))

#intentar convertir el vector de factor en un vector numérico y encontrar el valor máximo
 new_vector <- as.numeric (as.character (factor_vector))
max (nuevo_vector)

#Mensaje de advertencia:
#NA introducidas por coacción 
# [1] NA

Vale la pena señalar que R puede encontrar el máximo de vectores numéricos, vectores de fecha y vectores de caracteres sin tener problemas:

vector_numérico <- c (1, 2, 12, 14)
max (numeric_vector)

# [1] 14

character_vector <- c ("a", "b", "f")
max (character_vector)

# [1] "f"

date_vector <- as.Date (c ("2019-01-01", "2019-03-05", "2019-03-04"))
max (fecha_vector)

# [1] "2019-03-05"

Por lo tanto, si está intentando encontrar el valor máximo en un vector, simplemente asegúrese de que su vector no sea del factor de tipo .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

A menudo, en estadística usamos intervalos de confianza para estimar el valor de un parámetro de población con un cierto…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!