【发布时间】:2018-08-01 15:10:22
【问题描述】:
给定一个矩阵mat(大小为N by M)和一个幂p(例如4),产生p矩阵,其中每个p-th矩阵包含所有可能的矩阵mat 中各列的组合。
在我当前的方法中,我生成p-th 矩阵,然后在下一次调用中使用它来生成p+1th 矩阵。对于给定的功率p,这是否可以“自动化”,而不是手动完成?
当谈到 R 时,我是一个新手,并且了解与以下尝试相比,可能有一种更有效和更优雅的方式来实现此解决方案...
N = 5
M = 3
p = 4
mat = matrix(1:(N*M),N,M)
mat_1 = mat
mat_2 = t(sapply(1:N, function(i) tcrossprod(mat_1[i, ], mat[i, ])))
mat_3 = t(sapply(1:N, function(i) tcrossprod(mat_2[i, ], mat[i, ])))
mat_4 = t(sapply(1:N, function(i) tcrossprod(mat_3[i, ], mat[i, ])))
谁能提供一些建议?我的目标是为给定矩阵mat 和幂p 创建一个函数,以更“自动化”的方式输出p 不同的矩阵。
让我开始的相关问题:How to multiply columns of two matrix with all combinations
【问题讨论】:
标签: r matrix combinations