在R

时间:2016-06-25 19:25:38

标签: r cartesian

假设我有一个向量,我想创建一个k相同向量的笛卡尔积,我如何在R中实现它。

就像,我的载体是

m
[1] 1 2

且k为3,

如何得到像3 m的笛卡尔积的结果。

1 个答案:

答案 0 :(得分:1)

笛卡尔积在R中实现为outer或其中缀版本%o%。因此:

m %o% m %o% m

# , , 1
# 
#      [,1] [,2]
# [1,]    1    2
# [2,]    2    4
# 
# , , 2
# 
#      [,1] [,2]
# [1,]    2    4
# [2,]    4    8

或以更容易扩展的形式,

Reduce(outer, rep(list(m), 3))

返回同样的东西。