Вы как-то должны сообщить своей функции, сколько элементов вы хотите, скажем, n
. Если это известно (или у вас есть разумные значения по умолчанию), вы можете использовать:
- создать последовательность из ваших входных значений
- выберите с заменой
n - sequence_length
значений из вашей последовательности
- объединить последовательность с выбранными значениями
- перемешать результат
Пример кода в R с использованием 4 * (to - from)
в качестве значения по умолчанию для n
:
myRandom <- function(from, to, n = 4 * (to - from)) {
values <- seq.int(from, to)
selection <- sample(values, n - length(values), replace = TRUE)
values <- c(values, selection)
sample(values)
}
myRandom(1, 4)
#> [1] 1 4 3 3 3 4 4 2 3 2 1 2
Создан в 2019-07-09 пакетом Представить (v0.3.0)