Если я правильно понял ваш вопрос, сначала приходит на ум решение, подобное следующему: очень простое, но оно выполняет свою работу.
size <- 40
vec <- sample(1:4, size = size, replace = TRUE)
while(length(unique(vec)) < 4){
vec <- sample(1:4, size = size, replace = TRUE)
}
vec
Цикл while
не будет продолжаться долго, поскольку очень маловероятно, что цифра не появится в случайном векторе vec
, если вы производите выборку 40 раз.
Конечно, вы можете изменить size
вашего вектора, код все равно будет работать, за исключением того, что вы хотите, чтобы vec
было <4; в этом случае цикл будет продолжаться бесконечно. </p>