Я пытаюсь использовать элементы из вектора для выполнения операторов if-then, но по какой-то причине я продолжаю сталкиваться со следующей ошибкой:
"Ошибка в if (xd [2] <= a) {: пропущенное значение там, где необходимо ИСТИНА / ЛОЖЬ "</p>
Я не уверен, почему это продолжается, поскольку единственное, что отличается от этой строки кода, кажется, что я Я использую xd [2] вместо xd [1]. Я получаю желаемые результаты с помощью xd [1], но не xd [2]. Условие, кажется, также выполнено.
reset1 = {
a = 0.3 #lower bound of belief
b = 0.9 #upper bound of belief
A = 5
w = c(1,2)
xd = c(1,2)
w[1] = 5 #cost of abatement/effort for Driver1
xd[1] = 0.3
w[2] = 3 #cost of abatement/effort for Driver2
xd[2] = 0.3
expfine1 = function(xd,A,a,b){if(xd[1]<=a){A} else if(a<xd[1] & xd[1]<b){(((b-xd[1])/(b-a))*A)} else if(xd[1]>b){0}}
expfine1(xd[1],A,a,b)
expcost1 = function(xd){proba1(xd[1])*expfine1(xd[1],A,a,b)}
expcost1(xd[1])
expfine2 = function(xd,A,a,b){if(xd[2]<=a){A} else if(a<xd[2] & xd[2]<b){(((b-xd[2])/(b-a))*A)} else if(xd[2]>b){0}}
expfine2(xd[2], A, a, b)
expcost2 = function(xd){proba2(xd[2])*expfine2(xd[2],A,a,b)}
expcost2(xd[2])