Как заставить вектор выбрать 3 возможных значения в зависимости от последнего значения в R - PullRequest
0 голосов
/ 03 октября 2018

В R Я пытаюсь создать вектор из 12 чисел.Первое число - 40 из 40, оно может либо уменьшиться на 1 с вероятностью 0,5, либо остаться прежним с вероятностью 0,2, либо увеличиться на 1 с вероятностью 0,3.Следующее значение зависит от последнего значения.Например, возможный вектор может быть:

           40 39 38 37 37 38 37 36 37 38 39 39

Я пробовал несколько разных методов, но я не могу заставить их работать.Моя последняя попытка была:

xx=c() num <- 60 for (i in 1:12){ xx[i] <- sample(x=c(num,num+5,num+10),size=1,prob = probs)}

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 03 октября 2018

Установите исходное значение и добавьте разницу на основе указанных вами вероятностей:

x <- 40

for (i in 2:12){
    x[i] <- x[i-1]+sample(c(-1, 0, 1), size=1, prob=c(.5, .2, .3))
}

x
[1] 40 41 41 40 41 40 39 39 40 39 38 38
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...