两个向量的组合矩阵

时间:2019-07-08 17:18:10

标签: r combinations

我有两个向量,例如:

x <- c("b", "p", "t")
y <- c("a", "e", "i")

我想获得它们可能组合的矩阵。

df <- cbind(b=c("ba", "be", "bi"), p=c("pa", "pe", "pi"), t=c("ta", "te", "ti"))
rownames(df) <- c("a", "e", "i")

我见过Possible combinations of a matrix in R,但在这里并不能解决问题。

我还尝试了CJ(x,y)data.table, 但我仍然需要进一步的步骤来操作 数据。

有没有更简单的解决方案?

2 个答案:

答案 0 :(得分:3)

我们可以使用outer

out <- outer(x, y, FUN = paste0)
dimnames(out) <- list(x, y)

答案 1 :(得分:1)

我们也可以使用expand.grid

matrix(Reduce(paste0, expand.grid(x, y)), 3)
#      [,1] [,2] [,3]
# [1,] "ba" "be" "bi"
# [2,] "pa" "pe" "pi"
# [3,] "ta" "te" "ti"