Как мне исправить отключение одной ошибкой для моего для l oop? - PullRequest
0 голосов
/ 05 февраля 2020

У меня проблемы с а для l oop. Это дает мне "отключено одной ошибкой". Я посчитал наблюдения, и это было действительно одно. Как это исправить?

Код:

delta = seq(0,1,0.05)
delta2 = seq(0,1,0.01)
delta3 = seq(0,1,0.001)

price1 = rep(1,length(delta))
price2 = rep(1,length(delta2))
price3 = rep(1,length(delta3))

for(i in 2:length(delta)){
  price1[i] = price1[i-1]+price1[i-1]*rnorm(1)*sqrt(delta)
  price1[i+1] = price1[i] + i
  print(price1[i+1])
}


plot(delta,price1[i+1], type = "l") #Error occurs here

for(i in 2:length(delta2)){
  price2[i] = price2[i-1] + price2[i-1]*rnorm(1)*sqrt(delta2)
  price2[i] = price2[i] + i
  print(price2[i])
}

plot(delta2, price2[i], type = "l") #error here

for(i in 2:length(delta3)){
  price3[i] = price3[i-1] +  price3[i-1]*rnorm(1)*sqrt(delta3)
  xprice3[i] = price3[i] + i
  print(price3[i])
}

plot(delta3, price3[i], type = "l") #error here



Состояния ошибки:

Ошибка в xy.coords (x, y, xlabel, ylabel, log): Длина 'x' и 'y' различаются

Ответы [ 2 ]

1 голос
/ 05 февраля 2020

Вам не нужны петли для этого, но это то, что вы ищете?

delta = seq(0,1,0.05)
delta2 = seq(0,1,0.01)
delta3 = seq(0,1,0.001)

price1 = rep(1,length(delta))
price2 = rep(1,length(delta2))
price3 = rep(1,length(delta3))

for(i in 2:length(delta)){
  price1[i] = price1[i-1]+price1[i-1]*rnorm(1)*sqrt(delta[i])
  price1[i] = price1[i] + i
  print(price1[i])
}


plot(delta,price1, type = "l") #Error occurs here

for(i in 2:length(delta2)){
  price2[i] = price2[i-1] + price2[i-1]*rnorm(1)*sqrt(delta2[i])
  price2[i] = price2[i] + i
  print(price2[i])
}

plot(delta2, price2, type = "l") #error here

for(i in 2:length(delta3)){
  price3[i] = price3[i-1] +  price3[i-1]*rnorm(1)*sqrt(delta3[i])
  price3[i] = price3[i] + i
  print(price3[i])
}

plot(delta3, price3, type = "l") #error here
0 голосов
/ 05 февраля 2020

Возможно, вы ищете:

delta = seq(0,1,0.05)
delta2 = seq(0,1,0.01)
delta3 = seq(0,1,0.001)

price1 = rep(1,length(delta))
price2 = rep(1,length(delta2))
price3 = rep(1,length(delta3))

for(i in 2:length(delta)){
   price1[i] = price1[i-1]+price1[i-1]*rnorm(1)*sqrt(delta[i])
}
plot(delta,price1, type = "l")


for(i in 2:length(delta2)){
   price2[i] = price2[i-1]+price2[i-1]*rnorm(1)*sqrt(delta2[i])
}
plot(delta2,price2, type = "l")

for(i in 2:length(delta3)){
  price3[i] = price3[i-1]+price3[i-1]*rnorm(1)*sqrt(delta3[i])
}
plot(delta3,price3, type = "l")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...