Více argumentů (2)
Pojďme se podívat na složitější příklad. Pamatuješ si na současnou hodnotu z kurzu Introduction to R for Finance? Pokud ne, můžeš si připomenout příslušné video zde. Jde o to, že peníze, které dostaneš v budoucnosti, chceš přepočítat na jejich dnešní hodnotu pomocí určité úrokové sazby. K tomu slouží tento obecný vzorec:
present_value <- cash_flow * (1 + i / 100) ^ -year
Nebylo by praktické mít funkci, která tento výpočet udělá za tebe? Třeba ve tvaru:
present_value <- pv(cash_flow, i, year)
Tato funkce by měla fungovat jak při předání číselných hodnot, například pv(1500, 5, 2), tak při předání vektorů stejné délky — pro výpočet celého vektoru současných hodnot najednou!
K dispozici máš funkci percent_to_decimal().
Toto cvičení je součástí kurzu
Intermediate R for Finance
Pokyny k cvičení
- Doplň prázdná místa ve funkci tak, aby splňovala následující podmínky:
- Přijímala argumenty:
cash_flow,i,year - Vytvořila diskontní multiplikátor:
(1 + i / 100). Pro převodina desetinné číslo použij funkcipercent_to_decimal(). - Provedla výpočet současné hodnoty. Výsledek neukládej do proměnné — jako poslední řádek funkce bude vrácen automaticky.
- Přijímala argumenty:
- Vypočítej současnou hodnotu částky 1200 $, při úrokové sazbě 7 %, která bude přijata za 3 roky.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Present value function
pv <- function(___, ___, ___) {
# Discount multiplier
mult <- 1 + ___(i)
# Present value calculation
___ * ___ ^ -___
}
# Calculate a present value
___