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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert