Selecione um subconjunto de combinações
Suponha que eu tenha uma matriz de 20 X 5, gostaria de selecionar subconjuntos da matriz e fazer algum cálculo com eles. Além disso, suponha que cada sub-matriz é 7 X 5. Eu poderia, claro, fazer
ncomb <- combn(20, 7)
o que me dá todas as combinações possíveis de 7 índices de linha, e eu posso usá-los para obter sub-matrizes. Mas com uma matriz pequena de 20 X 5, já existem 77520 combinações possíveis. Então, gostaria de experimentar aleatoriamente algumas das combinações, por exemplo, 5000 delas.
Uma possibilidade é a seguinte:
ncomb <- combn(20, 7)
ncombsub <- ncomb[, sample(77520, 5000)]
Em outras palavras, obtenho todas as combinações possíveis e, em seguida, seleciono aleatoriamente apenas 5000 das combinações. Mas imagino que seria problemático calcular todas as combinações possíveis se eu tivesse uma matriz maior - por exemplo, 100 x 7.
Então, eu me pergunto se existe uma maneira de obter subconjuntos de combinações sem primeiro obter todas as combinações possíveis.