So verbinden Sie mehrere Dataframes mit dplyr

Von Fabian
Kategorie: R
Tags: dplyr
Lesezeit: 2 Minuten

Oft sind Sie daran interessiert, mehrere Dataframe in R zu verbinden. Glücklicherweise ist dies mit der Funktion left_join() aus dem Paket dplyr einfach zu bewerkstelligen.

library(dplyr)

Angenommen, wir haben die folgenden drei Dataframe:

# Dataframe erstellen
df1 <- data.frame(a = c('a', 'b', 'c', 'd', 'e', 'f'),
                  b = c(12, 14, 14, 18, 22, 23))

df2 <- data.frame(a = c('a', 'a', 'a', 'b', 'b', 'b'),
                  c = c(23, 24, 33, 34, 37, 41))

df3 <- data.frame(a = c('d', 'e', 'f', 'g', 'h', 'i'),
                  d = c(23, 24, 33, 34, 37, 41))

Um alle drei Dataframe miteinander zu verbinden, können wir einfach zwei linke Verknüpfungen nacheinander ausführen:

# Verbinden Sie die drei Dataframe
df1 %>%
    left_join(df2, by='a') %>%
    left_join(df3, by='a')

   a  b  c  d
1  a 12 23 NA
2  a 12 24 NA
3  a 12 33 NA
4  b 14 34 NA
5  b 14 37 NA
6  b 14 41 NA
7  c 14 NA NA
8  d 18 NA 23
9  e 22 NA 24
10 f 23 NA 33

Beachten Sie, dass Sie das Ergebnis dieses Joins auch als Dataframe speichern können:

# Verbinden Sie die drei Dataframe und speichern Sie das Ergebnis als neues Dataframe mit dem Namen all_data
all_data <- df1 %>%
              left_join(df2, by='a') %>%
              left_join(df3, by='a')

# Zusammenfassung des resultierenden Dataframes anzeigen
glimpse(all_data)

Observations: 10
Variables: 4
$ a <chr> "a", "a", "a", "b", "b", "b", "c", "d", "e", "f"
$ b <dbl> 12, 12, 12, 14, 14, 14, 14, 18, 22, 23
$ c <dbl> 23, 24, 33, 34, 37, 41, NA, NA, NA, NA
$ d <dbl> NA, NA, NA, NA, NA, NA, NA, 23, 24, 33

Zusätzliche Ressourcen

So filtern Sie Zeilen in R
So entfernen Sie doppelte Zeilen in R
So gruppieren und fassen Sie Daten in R zusammen

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: