Wiele argumentów (1)
Jak widziałeś w przykładzie z opcjonalnymi argumentami, funkcje mogą przyjmować wiele argumentów. Dzięki temu stają się bardziej elastyczne. Przyjrzyjmy się temu w praktyce.
pow <- function(x, power = 2) {
x^power
}
pow(2)
[1] 4
pow(2, power = 3)
[1] 8
Zamiast funkcji square() mamy teraz wersję, która działa z dowolną potęgą.
Argument power jest opcjonalny i ma domyślną wartość 2, ale użytkownik może ją łatwo zmienić. To również przykład tego, jak dodawać wiele argumentów. Zwróć uwagę, że argumenty są oddzielone przecinkiem, a wartość domyślna jest ustawiana za pomocą znaku równości.
Dodajmy teraz nową funkcjonalność do percent_to_decimal() – możliwość zaokrąglenia wyniku do określonej liczby miejsc po przecinku.
To ćwiczenie jest częścią kursu
R dla finansów – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Uzupełnij brakujące elementy ulepszonej funkcji
percent_to_decimal(), tak aby:- Dodać drugi opcjonalny argument o nazwie
digitsz domyślną wartością2. - W ciele funkcji podzielić
percentprzez 100 i przypisać wynik do zmiennejdecimal. - Użyć funkcji
roundna zmiennejdecimali ustawić drugi argument nadigits, aby określić liczbę miejsc po przecinku.
- Dodać drugi opcjonalny argument o nazwie
- Twoja funkcja zadziała również na wektorach o długości większej niż 1. Zmienna
percentsjest już zdefiniowana. - Wywołaj
percent_to_decimal()napercentsbez podawania żadnych opcjonalnych argumentów. - Wywołaj
percent_to_decimal()napercentsponownie, tym razem z argumentemdigits = 4.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Percent to decimal function
percent_to_decimal <- function(percent, ___ = ___) {
___ <- percent / 100
___(decimal, ___)
}
# percents
percents <- c(25.88, 9.045, 6.23)
# percent_to_decimal() with default digits
___
# percent_to_decimal() with digits = 4
___