Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij brakujące elementy ulepszonej funkcji percent_to_decimal(), tak aby:
    • Dodać drugi opcjonalny argument o nazwie digits z domyślną wartością 2.
    • W ciele funkcji podzielić percent przez 100 i przypisać wynik do zmiennej decimal.
    • Użyć funkcji round na zmiennej decimal i ustawić drugi argument na digits, aby określić liczbę miejsc po przecinku.
  • Twoja funkcja zadziała również na wektorach o długości większej niż 1. Zmienna percents jest już zdefiniowana.
  • Wywołaj percent_to_decimal() na percents bez podawania żadnych opcjonalnych argumentów.
  • Wywołaj percent_to_decimal() na percents ponownie, tym razem z argumentem digits = 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
___
Edytuj i uruchom kod