Een inner join uitvoeren in r (met voorbeelden)
Er zijn twee veelgebruikte manieren om een inner join in R uit te voeren:
Methode 1: Gebruik Base R
merge(df1, df2, by=' column_to_join_on ')
Methode 2: gebruik dplyr
library (dplyr) inner_join(df1, df2, by=' column_to_join_on ')
Beide methoden zullen hetzelfde resultaat opleveren, maar de dplyr-methode zal doorgaans sneller presteren op extreem grote datasets.
De volgende voorbeelden laten zien hoe u elk van deze functies in de praktijk kunt gebruiken met de volgende dataframes:
#define first data frame df1 = data. frame (team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'), points=c(18, 22, 19, 14, 14, 11, 20, 28)) df1 team points 1 to 18 2 B 22 3 C 19 4 D 14 5 E 14 6 F 11 7 G 20 8:28 a.m. #define second data frame df2 = data. frame (team=c('A', 'B', 'C', 'D', 'G', 'H'), assists=c(4, 9, 14, 13, 10, 8)) df2 team assists 1 to 4 2 B 9 3 C 14 4 D 13 5G 10 6:8 a.m.
Voorbeeld 1: Binnenverbinding met Base R
We kunnen de functie merge() in basis R gebruiken om een inner join uit te voeren, waarbij we de kolom ‚team‘ gebruiken als de kolom waaraan we moeten deelnemen:
#perform inner join using base R df3 <- merge(df1, df2, by=' team ') #view result df3 team points assists 1 to 18 4 2 B 22 9 3 C 19 14 4 D 14 13 5 G 20 10 6:28 a.m. 8
Houd er rekening mee dat alleen teams die in beide datasets voorkomen, behouden blijven in de definitieve dataset.
Voorbeeld 2: Inner join met dplyr
We kunnen de inner_join() functie uit het dplyr- pakket gebruiken om een inner join uit te voeren, waarbij we de kolom ‚team‘ gebruiken als de kolom waaraan we moeten deelnemen:
library (dplyr) #perform inner join using dplyr df3 <- inner_join(df1, df2, by=' team ') #view result df3 team points assists 1 to 18 4 2 B 22 9 3 C 19 14 4 D 14 13 5 G 20 10 6:28 a.m. 8
Merk op dat dit overeenkomt met het resultaat dat we hebben verkregen met de functie merge() in basis R.
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 u een kolom aan een dataframe toevoegt in R
Kolommen verwijderen uit een dataframe in R