Выберите подмножество комбинаций

Предположим, что у меня есть матрица 20 X 5, я хотел бы выбрать подмножества матрицы и сделать некоторые вычисления с ними. Далее предположим, что каждая подматрица равна 7 X 5. Конечно, я мог бы сделать

ncomb <- combn(20, 7)

который дает мне все возможные комбинации из 7 индексов строк, и я могу использовать их для получения подматриц. Но с небольшой матрицей 20 X 5 уже существует 77520 возможных комбинаций. Поэтому я хотел бы вместо этого случайным образом отобрать некоторые комбинации, например, 5000 из них.

Одна из возможностей заключается в следующем:

ncomb <- combn(20, 7)
ncombsub <- ncomb[, sample(77520, 5000)]

Другими словами, я получаю все возможные комбинации, а затем случайным образом выбираю только 5000 комбинаций. Но я думаю, что было бы проблематично вычислить все возможные комбинации, если бы у меня была матрица большего размера, скажем, 100 X 7.

Поэтому мне интересно, есть ли способ получить подмножества комбинаций без предварительного получения всех возможных комбинаций.