我有两个向量,例如:
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
,
但我仍然需要进一步的步骤来操作
数据。
有没有更简单的解决方案?
答案 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"