Comment réparer dans R : ‘x’ doit être numérique
Une erreur que vous pouvez rencontrer dans R est :
Error in hist.default(data) : 'x' must be numeric
Cette erreur se produit lorsque vous tentez de créer un histogramme pour une variable qui n’est pas numérique.
Ce didacticiel explique exactement comment corriger cette erreur.
Comment reproduire l’erreur
Supposons que nous essayions de créer un histogramme pour le vecteur de données suivant :
#define vector data <- c('1.2', '1.4', '1.7', '1.9', '2.2', '2.5', '3', '3.4', '3.7', '4.1') #attempt to create histogram to visualize distribution of values in vector hist(data) Error in hist.default(data) : 'x' must be numeric
Nous recevons une erreur car les données ne sont actuellement pas un vecteur numérique. Nous pouvons le confirmer en vérifiant la classe :
#check class
class(data)
[1] "character"
Actuellement, les données sont un vecteur de caractères.
Comment réparer l’erreur
Le moyen le plus simple de corriger cette erreur consiste simplement à utiliser as.numeric() pour convertir notre vecteur en numérique :
#convert vector from character to numeric data_numeric <- as.numeric(data) #create histogram hist(data_numeric)
Notez que nous ne recevons pas d’erreur et que nous parvenons à créer l’histogramme car notre vecteur est désormais numérique.
Nous pouvons le vérifier en vérifiant la classe :
#check class
class(data_numeric)
[1] "numeric"
Ressources additionnelles
Les didacticiels suivants expliquent comment corriger d’autres erreurs courantes dans R :
Comment réparer : les NA introduites par la coercition
Comment réparer : nombre incorrect d’indices sur la matrice
Comment réparer : le nombre d’éléments à remplacer n’est pas un multiple de la longueur de remplacement