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

Einen Kommentar hinzufügen

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