Hoe u gegevensframes over meerdere kolommen kunt samenvoegen met behulp van dplyr


U kunt de volgende basissyntaxis gebruiken om gegevensframes in R samen te voegen op basis van meerdere kolommen met behulp van dplyr:

 library (dplyr)

left_join(df1, df2, by=c(' x1 '=' x2 ', ' y1 '=' y2 '))

Deze specifieke syntaxis voert een left join uit als aan de volgende voorwaarden wordt voldaan:

  • De waarde in kolom x1 van df1 komt overeen met de waarde in kolom x2 van df2.
  • De waarde van kolom y1 van df1 komt overeen met de waarde van kolom y2 van df2.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: meerdere kolommen samenvoegen met dplyr

Stel dat we de volgende twee dataframes in R hebben:

 #define first data frame
df1 = data. frame (team=c('A', 'A', 'B', 'B'),
                 pos=c('G', 'F', 'F', 'G'),
                 dots=c(18, 22, 19, 14))

df1

  team pos points
1 AG 18
2 AF 22
3 BF 19
4 BG 14

#define second data frame
df2 = data. frame (team_name=c('A', 'A', 'B', 'C', 'C'),
                 position=c('G', 'F', 'F', 'G', 'F'),
                 assists=c(4, 9, 8, 6, 5))

df2

  team_name position assists
1 GA 4
2 AF 9
3 BF 8
4 CG 6
5 CF 5

We kunnen de volgende syntaxis in dplyr gebruiken om een left join uit te voeren op basis van twee kolommen:

 library (dplyr)

#perform left join based on multiple columns
df3 <- left_join(df1, df2, by=c(' team '=' team_name ', ' pos '=' position '))

#view result
df3

  team pos points assists
1 AG 18 4
2 AF 22 9
3 BF 19 8
4 BG 14 NA

Het resulterende dataframe bevat alle rijen uit df1 en alleen rijen uit df2 waar de team- en positiewaarden overeenkomen.

Houd er ook rekening mee dat als beide dataframes dezelfde kolomnamen delen, u eenvoudigweg de volgende syntaxis kunt gebruiken om meerdere kolommen samen te voegen:

 library (dplyr)

#perform left join based on multiple columns
df3 <- left_join(df1, df2, by=c(' team ', ' position '))

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in R kunt uitvoeren:

Hoe maak je een linkse join in R
Hoe maak je een juiste join in R
Hoe maak je een inner join in R
Hoe u een buitenste join maakt in R

Einen Kommentar hinzufügen

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