So verwenden sie die funktion „coalesce()“ in dplyr (mit beispielen)


Sie können die Funktion „coalesce()“ aus dem dplyr- Paket in R verwenden, um den ersten nicht fehlenden Wert an jeder Position eines oder mehrerer Vektoren zurückzugeben.

Es gibt zwei gängige Möglichkeiten, diese Funktion zu verwenden:

Methode 1: Fehlende Werte im Vektor ersetzen

 library (dplyr)

#replace missing values with 100
coalescence(x, 100)

Methode 2: Geben Sie den ersten nicht fehlenden Wert in den Datenrahmenspalten zurück

 library (dplyr)

#return first non-missing value at each position across columns A and B
coalesce(df$A, df$B)

Die folgenden Beispiele zeigen, wie die einzelnen Methoden in der Praxis angewendet werden können.

Beispiel 1: Verwenden Sie colonesce(), um fehlende Werte im Vektor zu ersetzen

Der folgende Code zeigt, wie Sie mit der Funktion „coalesce()“ alle fehlenden Werte in einem Vektor durch einen Wert von 100 ersetzen:

 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

Beachten Sie, dass jeder NA- Wert im ursprünglichen Vektor durch einen Wert von 100 ersetzt wurde.

Beispiel 2: Verwenden Sie „coalesce()“, um den ersten nicht fehlenden Wert in den Datenrahmenspalten zurückzugeben

Angenommen, wir haben den folgenden Datenrahmen in R:

 #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

Der folgende Code zeigt, wie die Funktion „coalesce()“ verwendet wird, um den ersten nicht fehlenden Wert in den Spalten A und B des Datenrahmens zurückzugeben:

 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

Die resultierende Spalte C enthält den ersten nicht fehlenden Wert in den Spalten A und B.

Beachten Sie, dass Zeile 5 in Spalte C den Wert NA hat, da die Spalten A und B beide NA-Werte in dieser Zeile hatten.

Wir können der Funktion „coalesce()“ einfach einen zusätzlichen Wert hinzufügen, der als Wert verwendet wird, wenn in jeder Spalte NA-Werte vorhanden sind:

 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

Beachten Sie, dass der NA-Wert in Zeile 5 von Spalte C jetzt durch den Wert 100 ersetzt wurde.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie mit dplyr weitere gängige Funktionen ausführen:

So löschen Sie Zeilen mit dplyr
So ordnen Sie Zeilen mit dplyr an
So filtern Sie mit dplyr nach mehreren Bedingungen

Einen Kommentar hinzufügen

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