在R中创建k向量的笛卡尔积
假设我有一个向量,我想创建k个相同向量的笛卡尔积,我如何在R中实现它 比如,我的向量是在R中创建k向量的笛卡尔积,r,cartesian,R,Cartesian,假设我有一个向量,我想创建k个相同向量的笛卡尔积,我如何在R中实现它 比如,我的向量是 m [1] 1 2 k是3 如何获得类似于3m笛卡尔积的结果。笛卡尔积在R中实现为外部,或其中缀版本%o%。因此: m %o% m %o% m # , , 1 # # [,1] [,2] # [1,] 1 2 # [2,] 2 4 # # , , 2 # # [,1] [,2] # [1,] 2 4 # [2,] 4 8 或者以更
m
[1] 1 2
k是3
如何获得类似于3m笛卡尔积的结果。笛卡尔积在R中实现为
外部
,或其中缀版本%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))
它返回相同的东西。可能是
数据。表::CJ(m,m,m)
或展开.grid(m,m,m)
?m%o%m%o%m
,或者更一般地说,减少(外部,代表(列表(m),3))
@alistaire,post as answre?