次のようなマトリックスがあります。
myarray=cov(matrix(rexp(200),50,10))
列のすべての可能な組み合わせを生成し、可能であれば、名前の代わりに列番号を使用して、各組み合わせの相関行列を計算したいと思います。2番目のステップでは、各行列の行列式を計算したいので、効率的な方法があるかもしれません。
次のようなマトリックスがあります。
myarray=cov(matrix(rexp(200),50,10))
列のすべての可能な組み合わせを生成し、可能であれば、名前の代わりに列番号を使用して、各組み合わせの相関行列を計算したいと思います。2番目のステップでは、各行列の行列式を計算したいので、効率的な方法があるかもしれません。
1 つの方法を次に示します。
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
ただし、正方行列にのみ適用できることに注意してください...明確にしてください。