我有一个像这样的矩阵:
myarray=cov(matrix(rexp(200),50,10))
我想生成所有可能的列组合,并在可能的情况下使用列号而不是名称计算每个组合的相关矩阵。在第二步中,我想计算每个矩阵的行列式,所以可能有一种有效的方法。
答案 0 :(得分:2)
这是一种方式:
list.of.matrices <- apply(expand.grid(rep(list(c(FALSE, TRUE)), ncol(myarray))),
1, function(j)myarray[, j, drop = FALSE])
length(list.of.matrices)
# [1] 1024
然后执行以下操作:
result <- sapply(list.of.matrices, function_of_your_choice)
但请注意,det
只能应用于方形矩阵...请澄清。