Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Interprétation des erreurs dans R : ‘max’ pas significatif pour les facteurs



À un moment ou à un autre, vous pouvez rencontrer l’erreur suivante dans R :

'max' not meaningful for factors

Cela indique simplement que vous essayez de prendre le « max » d’une variable qui appartient au facteur de classe.

Par exemple, cette erreur est générée si nous essayons de prendre le maximum du vecteur suivant :

#create a vector of class vector
factor_vector <- as.factor(c(1, 7, 12, 14, 15))

#attempt to find max value in the vector
max(factor_vector)

#Error in Summary.factor(1:5, na.rm = FALSE) : 
#  'max' not meaningful for factors

Par définition, les valeurs d’un vecteur de facteurs sont de classe nominale, ce qui signifie qu’il n’y a pas d’ordre significatif des valeurs. Il n’y a donc aucune valeur « max » à trouver.

Une solution simple pour trouver le maximum d’un vecteur de facteurs consiste simplement à le convertir en vecteur de caractères, puis en vecteur numérique :

#convert factor vector to numeric vector and find the max value
new_vector <- as.numeric(as.character(factor_vector))
max(new_vector)

#[1] 15

Si votre vecteur de facteurs contient simplement les noms de facteurs, alors il n’est pas possible de trouver la valeur maximale, même après avoir converti le vecteur de facteurs en vecteur numérique, car cela ne sert à rien de trouver le « max » d’une liste de facteurs. des noms.

#create factor vector with names of factors
factor_vector <- as.factor(c("first", "second", "third"))

#attempt to convert factor vector into numeric vector and find max value
new_vector <- as.numeric(as.character(factor_vector))
max(new_vector)

#Warning message:
#NAs introduced by coercion 
#[1] NA

Il convient de noter que R peut trouver le maximum de vecteurs numériques, de vecteurs de date et de vecteurs de caractères sans rencontrer de problèmes :

numeric_vector <- 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(date_vector)

#[1] "2019-03-05"

Ainsi, si vous essayez de trouver la valeur maximale dans un vecteur, assurez-vous simplement que votre vecteur n’est pas du type factor .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *