Hoe op te lossen in r: 'x' moet numeriek zijn
Een fout die je tegen kunt komen in R is:
Error in hist.default(data): 'x' must be numeric
Deze fout treedt op wanneer u probeert een histogram te maken voor een variabele die niet numeriek is.
In deze tutorial wordt precies uitgelegd hoe u deze fout kunt oplossen.
Hoe de fout te reproduceren
Stel dat we proberen een histogram te maken voor de volgende gegevensvector:
#definevector 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
We ontvangen een foutmelding omdat de gegevens momenteel geen numerieke vector zijn. We kunnen dit bevestigen door de klasse te controleren:
#check class
class(data)
[1] “character”
Momenteel zijn de gegevens een karaktervector.
Hoe u de fout kunt oplossen
De eenvoudigste manier om deze fout op te lossen is door simpelweg as.numeric() te gebruiken om onze vector naar numeriek te converteren:
#convert vector from character to numeric data_numeric <- as. numeric (data) #create histogram hist(data_numeric)
Merk op dat we geen foutmelding krijgen en dat we het histogram kunnen maken omdat onze vector nu numeriek is.
We kunnen dit verifiëren door de klasse te controleren:
#check class
class(data_numeric)
[1] "digital"
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Oplossing: NA’s geïntroduceerd door dwang
Oplossing: onjuist aantal indexen op matrix
Oplossing: het aantal te vervangen items is geen veelvoud van de vervangingslengte