【发布时间】:2021-06-03 02:56:21
【问题描述】:
我想在 R 中配对两个向量的元素。顺序很重要。
For example,
X= c(1:3)
Y= c(1:3)
I expect to have:
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
我想使用“lapply”。我的数据更复杂,但想法是一样的。我只需要将第一个向量的每个元素与第二个向量的所有元素配对即可。
【问题讨论】:
-
expand.grid(Y,X)[2:1],比lapply简单直接多了。 (我在X和[2:1]之前做Y的唯一原因是因为expand.grid在最左边的列中是“最繁忙的”,请参阅expand.grid(X,Y)来查看;我这样做是因为你说顺序很重要,我也在推断列顺序。) -
为什么没有
1, 1或3, 3?此外,因为您在两个向量中都使用了1:3,所以不清楚每个数字是从哪里获得的。例如,x <- 1:3; y <- 4:6的预期输出是什么?我认为您需要提供更多关于如何获得预期输出的说明。 -
@r2evans,通常我会同意,但 OP 预期输出中的“缺失”组合意味着
expand_grid只是一个起点。 -
@Limey,我也有同样的想法,并假设一个错字......正在等待爱丽丝进来纠正我:-)
-
在 OP 的编辑下,
expand_grid绝对是最简单的方法!
标签: r