R で内部結合を行う方法 (例あり)
R で内部結合を実行するには、次の 2 つの一般的な方法があります。
方法 1: Base R を使用する
merge(df1, df2, by=' column_to_join_on ')
方法 2: dplyr を使用する
library (dplyr) inner_join(df1, df2, by=' column_to_join_on ')
どちらの方法でも同じ結果が得られますが、非常に大規模なデータセットでは dplyr 方法の方が高速に実行される傾向があります。
次の例は、次のデータ フレームでこれらの各関数を実際に使用する方法を示しています。
#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.
例 1: Base R を使用した内部結合
ベース R でmerge()関数を使用して、結合先の列として「team」列を使用して内部結合を実行できます。
#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
両方のデータセットに出現したチームのみが最終データセットに保持されることに注意してください。
例 2: dplyr を使用した内部結合
dplyrパッケージのinner_join()関数を使用して、結合する列として「team」列を使用して内部結合を実行できます。
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
これは、ベース R のmerge()関数を使用して取得した結果に対応していることに注意してください。
追加リソース
次のチュートリアルでは、R で他の一般的な操作を実行する方法について説明します。