Мой код для получения правильного графика в R, похоже, не работает (я новичок в R и у меня проблемы с кодированием).
По сути, используя концепцию временного дисконтирования в форме бета-дельта-модели, мы должны рассчитывать субъективное значение для 10 долларов США при каждой задержке от 0 до 365.
Контекст домашней работы заключается в том, что мы должны учитывать важное исключение: если вознаграждение является НЕМЕДЛЕННЫМ, скидка не предоставляется, но если она происходит с любой задержкой, существует как экспоненциальная скидка, так и штраф за задержку.
Я создал переменную с именем BetaDeltaValuesOf10 , которая имеет длину 366 элементов и представляет субъективное значение в 10 долларов США при каждой задержке от 0 до 365.
Код должен иметь следующие свойства, используя for-loop и оператор if-else :
1) Если задержка равна 0, субъективное значение является объективной величиной (и должно быть сохранено в соответствующем элементе BetaDeltaValuesOf10 .
2) Иначе, вычислите субъективное значение по экспоненциально дисконтированной ставке, приняв ? = .98 и примените штраф за задержку 0,8, затем сохраните его в соответствующем элементе BetaDeltaValuesOf10 .
Стандартный код, предоставленный нам для создания кода, выглядит следующим образом:
BetaDeltaValuesOf10 = 0
Delays = 0:365
Код (уравнение) для получения субъективного значения / предпочтения с использованием модели экспоненциального дисконтирования:
ExponentialDecayValuesOf10 = .98^Delays*10
0,98 - это ставка дисконта в диапазоне от 0 до 1.
Задержки - это количество периодов времени в будущем, когда будет получено более позднее вознаграждение
10 - субъективное значение $ 10
Код (Уравнение) для получения субъективного значения с использованием бета-дельта-модели:
0.8*0.98^Delays*10
0,8 - штраф за задержку
Код, который я придумал, пытаясь удовлетворить вышеупомянутые свойства, выглядит следующим образом:
for(t in 1:length(Delays)){BetaDeltaValuesOf10 = 0.98^0*10
if(BetaDeltaValuesOf10 == 0){0.98^t*10}
else {0.8*0.98^t*10}
}
Итак, я попробовал код и не получил никакой ошибки. Но, когда я пытаюсь построить результат кода, мой график становится пустым.
Для построения я использовал код:
plot(BetaDeltaValuesOf10,type = 'l', ylab = 'DiscountedValue')
Я считаю, что мой код на самом деле неисправен, и поэтому я не получаю правильный результат для своего сюжета.
Пожалуйста, дайте мне знать об изменениях в кодексе, и если сообществу понадобятся какие-либо разъяснения, я постараюсь уточнить, как только смогу.