Вы можете сделать это с помощью sample()
-функции и цикла while.Это не самое красивое решение, но его просто реализовать наверняка.
Сначала вы выбираете два значения из вектора и сохраняете их в объекте, например:
values <- c(1, 2, 5, 6, 7, 15, 19, 20)
randomTwo <- sample(values, 2)
Затем выначни тебя пока-петля.Этот цикл проверяет, равна ли сумма двух выбранных значений по модулю 10 0 (я предположил, что вы имели в виду по модулю из примеров в вашем вопросе, см. https://en.wikipedia.org/wiki/Modulo_operation, чтобы узнать, что он делает).Если операция не равна 0, цикл выбирает два новых значения, пока операция не станет равной нулю, и вы получите два значения.
Вот как это выглядит:
while (sum(randomTwo) %% 10 != 0) {
randomTwo <- sample(values, 2)
}
Теперь это может занять больше итераций, чем проверка всех комбо, и это может занять меньше, в зависимости от случая.Если у вас есть только этот маленький вектор, то это хорошее решение.Удачи!