如何在 r 中进行交叉连接(举例)


在 R 中执行交叉连接的最简单方法是使用Tidyr包中的cross()函数:

 library (tidyr)

#perform cross join on df1 and df2
crossing(df1, df2)

下面的例子展示了如何在实际中使用这个功能。

示例:在 R 中执行交叉连接

假设我们在 R 中有以下两个数据框:

 #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()函数对这两个数据框执行交叉连接:

 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分。该行对应于第二个数据帧的每一行。

那么第一个数据框的第二行包含B队和22分。该行也对应于第二个数据帧的每一行。

最终结果是一个 12 行数据帧。

其他资源

以下教程解释了如何在 R 中执行其他常见操作:

如何在 R 中进行左连接
如何在 R 中进行右连接
如何在 R 中进行内连接

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注