Это мой первый вопрос в StackOverflow, и я надеюсь, что это первый из многих.Я сомневаюсь в особой функции, которую я пытаюсь выполнить в R, языке программирования, который я изучаю в этом году.Функция состоит из выполнения двумерной случайной прогрессии, определенной следующим образом:
Для t = 1 прогрессия равна (a1, a2).
В каждый последующий момент позиция рассчитывается с применением следующего правила:
- с вероятностью 5%, x_n = x_ {n-1} +1 и y_n = y_ {n-1} -1
- с вероятностью 15%, x_n = 2x_ {n-1} и y_n = y_ {n-1} + 1
- с вероятностью 80%, x_n = x_ {n-1} +1 и y_n = 2y_ {n-1}
То, что я сделал, - это использование выборочной функции с двумя прогрессиями, потому что яЯ пытался адаптировать его к одному без выхода.Я хотел бы использовать вероятности в кортеже, а не отдельно.Не могли бы вы помочь мне с этим?Я бы поблагодарил вас.
simulate <- function(n,a1,a2){
x <- a1
y <- a2
for(t in 2:n){
print(paste("(",x,",",y,")"))
x <- sample(c(x+1,2*x,x+1),size=1,prob=c(0.05,0.15,0.8))
y <- sample(c(y-1,y+1,2*y),size=1,prob=c(0.05,0.15,0.8))
}
print(paste("Final tuple is: (",x,",",y,")"))
}