Произвольно выбрать x% раз - PullRequest
1 голос
/ 05 марта 2020

В R я хочу применить условие, основанное на выборе N% раз в пределах l oop.

 for(i in 1:120) {
   if (randomly select 3% times of 120 iterations) { 
   print(i)
}

}

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Это то, что вы хотите? Вывести i, если i равно случайному проценту от общего числа итераций? sample(1:120, size = 1) будет случайным образом выбирать одно число от 1 до 120, что будет представлять случайный процент от общего числа итераций

for(i in 1:120) {
  if (i == sample(1:120, size = 1)) { 
    print(i)
  }
}
0 голосов
/ 05 марта 2020

Попробуйте сделать это, используя функцию sample :

for(i in 1:120) {
  if(sample(c(TRUE, FALSE), size = 1, prob = c(0.03, 0.97))) {
    print(i)
  }
}

Функция выполняет выборку из TRUE и FALSE с вероятностью 3% и 97% соответственно. В зависимости от того, что вы хотели бы сделать с этими i s, могут быть решения, которые даже не включают a для l oop.

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