如何在 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 中执行其他常见操作: