Как сгенерировать указанное количество уникальных случайных чисел в R - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь сгенерировать 25 случайных чисел с диапазоном (1:10), используя sample(rep(1:10), 25, replace = TRUE). Проблема в том, что из 25 сгенерированных чисел иногда бывает только 7 или 8 уникальных чисел. Я хочу, чтобы у него были все 10 чисел в диапазоне 1-10.

Вот пример, изображающий проблему, где отсутствует число 9:

> set.seed(7)
> unique(sample(rep(1:10), 25, replace = TRUE))
[1] 10  4  2  1  3  8  5  6  7

1 Ответ

0 голосов
/ 28 июня 2018

Как насчет?

set.seed(7)
x <- c(sample(1:10, 10), sample(1:10, 15, replace = T))
length(unique(x))
x

[1] 10  4  1  8  2  9  6  3  7  5  2  3  8  1  5  1  6  1 10  4  7  3 10 10 10

Судя по комментариям, это pbb еще короче: sample(c(1:10, sample(1:10, 15, replace = T)), 25)

...