Hoe om te gaan met nan-waarden in r (met voorbeelden)
In R staat NaN voor Geen getal.
Meestal komen NaN-waarden voor wanneer u een berekening probeert uit te voeren die tot een ongeldig resultaat leidt.
Als u bijvoorbeeld door nul deelt of de log van een negatief getal berekent, levert dit beide NaN-waarden op:
#attempt to divide by zero 0 / 0 [1]NaN #attempt to calculate log of negative value log(-12) [1]NaN
Merk op dat NaN-waarden verschillen van NA- waarden, die eenvoudigweg ontbrekende waarden vertegenwoordigen.
U kunt de volgende methoden gebruiken om NaN-waarden in R te verwerken:
#identify positions in vector with NaN values which(is. nan (x)) #count total NaN values in vector sum(is. nan (x)) #remove NaN values in vector x_new <- x[!is. no (x)] #replace NaN values in vector x[is. nan (x)] <- 0
De volgende voorbeelden laten zien hoe u elk van deze methoden in de praktijk kunt gebruiken.
Voorbeeld 1: Identificeer posities in een vector met NaN-waarden
De volgende code laat zien hoe u posities in een vector kunt identificeren die NaN-waarden bevatten:
#create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)
#identify positions with NaN values
which(is. nan (x))
[1] 2 4
Uit het resultaat kunnen we zien dat de elementen op posities 2 en 4 in de vector NaN-waarden zijn.
Voorbeeld 2: Totale NaN-waarden in een vector tellen
De volgende code laat zien hoe je het totale aantal NaN-waarden in een vector in R kunt tellen:
#create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)
#identify positions with NaN values
sum(is. nan (x))
[1] 2
Uit het resultaat kunnen we zien dat er in totaal 2 NaN-waarden in de vector zijn.
Voorbeeld 3: NaN-waarden in vector verwijderen
De volgende code laat zien hoe u een nieuwe vector maakt waarbij de NaN-waarden uit de originele vector zijn verwijderd:
#create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)
#define new vector with NaN values removed
x_new <- x[!is. no (x)]
#view new vector
x_new
[1] 1 12 50 30
Merk op dat de twee NaN-waarden uit de vector zijn verwijderd.
Voorbeeld 4: Vervang NaN-waarden in vector
De volgende code laat zien hoe je NaN-waarden in een vector kunt vervangen door nullen:
#create vector with some NaN values
x <- c(1, NaN, 12, NaN, 50, 30)
#replace NaN values with zero
x[is. nan (x)] <- 0
#view updated vector
x
[1] 1 0 12 0 50 30
Merk op dat beide NaN-waarden zijn vervangen door nullen in de vector.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe ontbrekende waarden in R te interpoleren
Hoe ontbrekende waarden in R te vinden en te tellen
Hoe gebruik je „Is Not NA“ in R