Hoe de coalesce()-functie in dplyr te gebruiken (met voorbeelden)
U kunt de functie coalesce() uit het dplyr- pakket in R gebruiken om de eerste niet-ontbrekende waarde op elke positie van een of meer vectoren te retourneren.
Er zijn twee veelgebruikte manieren om deze functie te gebruiken:
Methode 1: Vervang ontbrekende waarden in vector
library (dplyr)
#replace missing values with 100
coalescence(x, 100)
Methode 2: Retourneer de eerste niet-ontbrekende waarde in de dataframekolommen
library (dplyr)
#return first non-missing value at each position across columns A and B
coalesce(df$A, df$B)
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt toepassen.
Voorbeeld 1: Gebruik coalesce() om ontbrekende waarden in de vector te vervangen
De volgende code laat zien hoe je de functie coalesce() gebruikt om alle ontbrekende waarden in een vector te vervangen door een waarde van 100:
library (dplyr) #create vector of values x <- c(4, NA, 12, NA, 5, 14, 19) #replace missing values with 100 coalescence(x, 100) [1] 4 100 12 100 5 14 19
Merk op dat elke NA- waarde in de originele vector is vervangen door een waarde van 100 .
Voorbeeld 2: Gebruik coalesce() om de eerste niet-ontbrekende waarde in de dataframekolommen te retourneren
Stel dat we het volgende dataframe in R hebben:
#create data frame
df <- data. frame (A=c(10, NA, 5, 6, NA, 7, NA),
B=c(14, 9, NA, 3, NA, 10, 4))
#view data frame
df
AB
1 10 14
2 NA 9
3 5 NA
4 6 3
5 NA NA
6 7 10
7 NA 4
De volgende code laat zien hoe u de functie coalesce() gebruikt om de eerste niet-ontbrekende waarde in kolommen A en B van het gegevensframe te retourneren:
library (dplyr)
#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B)
#view updated data frame
df
ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA NA
6 7 10 7
7 NA 4 4
De resulterende kolom C bevat de eerste niet-ontbrekende waarde in de kolommen A en B.
Merk op dat rij 5 de waarde NA heeft in kolom C, aangezien de kolommen A en B beide NA-waarden hadden in deze rij.
We kunnen eenvoudigweg een extra waarde toevoegen aan de functie coalesce() om als waarde te gebruiken als er NA-waarden in elke kolom staan:
library (dplyr)
#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B, 100)
#view updated data frame
df
ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA 100
6 7 10 7
7 NA 4 4
Merk op dat de NA-waarde in rij 5 van kolom C nu is vervangen door een waarde van 100 .
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende functies kunt uitvoeren met dplyr:
Rijen verwijderen met dplyr
Rijen rangschikken met dplyr
Hoe u op meerdere voorwaarden kunt filteren met behulp van dplyr