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

結果は、各データ フレームの行の可能なすべての組み合わせを含むデータ フレームになります。

たとえば、最初のデータ フレームの最初の行には、チームA18ポイントが含まれています。このラインは、2 番目のデータ フレームの各ラインに対応します。

次に、最初のデータ フレームの 2 行目にはチームB22ポイントが含まれます。このラインは、2 番目のデータ フレームの各ラインにも対応します。

最終結果は 12 行のデータ フレームになります。

追加リソース

次のチュートリアルでは、R で他の一般的な操作を実行する方法について説明します。

Rで左結合を行う方法
Rで正しい結合を行う方法
Rで内部結合を行う方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です