作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 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(X, Y)
# Var1 Var2
# 1 1 1
# 2 2 1
# 3 3 1
# 4 1 2
# 5 2 2
# 6 3 2
# 7 1 3
# 8 2 3
# 9 3 3
但是,如果列顺序(第二列在第一列之前递增),则只需颠倒参数的顺序(推断真正的问题具有不同的数字)并在函数后重新排序:
expand.grid(Y, X)[2:1]
# Var2 Var1
# 1 1 1
# 2 1 2
# 3 1 3
# 4 2 1
# 5 2 2
# 6 2 3
# 7 3 1
# 8 3 2
# 9 3 3
列名是从参数中推断出来的,所以 expand.grid(X=X, Y=Y)
会将它们命名为 X
和 Y
而不是 Var#
。
关于r - 如何在R中配对两个向量的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67806397/
我是一名优秀的程序员,十分优秀!