r - 带有 dplyr R 的笛卡尔积

标签 r dplyr cartesian-product

我正在尝试查找笛卡尔积的 dplyr 函数。
我有两个没有公共(public)变量的简单 data.frame:

x <- data.frame(x=c("a","b","c"))
y <- data.frame(y=c(1,2,3))

我想重现结果
merge(x,y)

  x y
1 a 1
2 b 1
3 c 1
4 a 2
5 b 2
6 c 2
7 a 3
8 b 3
9 c 3

我已经寻找过这个(例如 herehere )但没有找到任何有用的东西。

非常感谢你

最佳答案

使用crossing来自 tidyr包裹:

x <- data.frame(x=c("a","b","c"))
y <- data.frame(y=c(1,2,3))

crossing(x, y)

结果:
   x y
 1 a 1
 2 a 2
 3 a 3
 4 b 1
 5 b 2
 6 b 3
 7 c 1
 8 c 2
 9 c 3

关于r - 带有 dplyr R 的笛卡尔积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43228379/

相关文章:

html - 如何将 pandoc_options 作为 output_options 传递给 rmarkdown::render()

R:将参数从包装函数传递到内部函数

r - 用成对的行旋转更宽

r - 使用dplyr分组并过滤数据管理

r - 根据组内的特定行在 group_by 内进行变异

relational-algebra - 包含相同列的表的笛卡尔积

python - 为什么我的笛卡尔积函数不起作用?

r - 为什么 mutate 不接受 data.frame 作为要嵌套的列?

r - R 中具有不等行的绑定(bind)矩阵

c++ - 打印出索引的所有组合