R でクロス結合を行う方法 (例あり)
R でクロス結合を実行する最も簡単な方法は、 Tidyrパッケージのcross()関数を使用することです。
library (tidyr) #perform cross join on df1 and df2 crossing(df1, df2)
次の例は、この関数を実際に使用する方法を示しています。
例: R でのクロス結合の実行
R に次の 2 つのデータ フレームがあるとします。
#define first data frame df1 = data. frame (team1=c('A', 'B', 'C', 'D'), dots=c(18, 22, 19, 14)) df1 team1 points 1 to 18 2 B 22 3 C 19 4 D 14 #define second data frame df2 = data. frame (team2=c('A', 'B', 'F'), assists=c(4, 9, 8)) df2 team2 assists 1 to 4 2 B 9 3 F 8
TidyrパッケージのCrossing()関数を使用して、これら 2 つのデータ フレームに対してクロス結合を実行できます。
library (tidyr) #perform cross join cross <- crossing(df1, df2) #view result cross # A tibble: 12 x 4 team1 points team2 assists 1 A 18 A 4 2 A 18 B 9 3 A 18 F 8 4 B 22 A 4 5 B 22 B 9 6 B 22 F 8 7 C 19 A 4 8 C 19 B 9 9 C 19 F 8 10 D 14 A 4 11 D 14 B 9 12 D 14 F 8
結果は、各データ フレームの行の可能なすべての組み合わせを含むデータ フレームになります。
たとえば、最初のデータ フレームの最初の行には、チームAと18ポイントが含まれています。このラインは、2 番目のデータ フレームの各ラインに対応します。
次に、最初のデータ フレームの 2 行目にはチームBと22ポイントが含まれます。このラインは、2 番目のデータ フレームの各ラインにも対応します。
最終結果は 12 行のデータ フレームになります。
追加リソース
次のチュートリアルでは、R で他の一般的な操作を実行する方法について説明します。