Случайная выборка в R: ограничение количества повторений - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть следующий вектор в R: z = c (1,3,5,7,9,11).

Я желаю случайным образом выбрать из этого вектора 4 элемента за раз, но так, чтобы повторялось не более 2 элементов.Т.е.

sample(z,4,replace=T) = (1,1,3,11)
sample(z,4,replace=T) = (1,5,5,9)

но не

sample(z,4,replace=T) = (1,1,1,11)

и т. Д.

Как мне это сделать?

Спасибо!

1 Ответ

0 голосов
/ 10 февраля 2019

Ответ @MichaelChirico кажется правильным.Я переписываю это с некоторыми объяснениями:

z <- c(1,3,5,7,9,11)  
sample(
  rep(z, 
      times = 2L  # times = 2L doubles the vector z
      ),
  size = 4L,  # it determines the number of items to choose
  replace = FALSE  # this is default but it makes no more than 2 elements repeated
)  

Выбрав FALSE для replace аргумент в вашем собственном коде "sample (z, 4, replace = T)",
он возвращаетне повторяется вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...