НачатьНачать бесплатно

Несколько аргументов (1)

Как вы видели в примере с необязательными аргументами, функции могут принимать несколько аргументов. Это делает их более гибкими. Рассмотрим это на практике.

pow <- function(x, power = 2) {
    x^power
}

pow(2)
[1] 4

pow(2, power = 3)
[1] 8

Вместо функции square() у нас теперь есть версия, которая работает с любой степенью.

Аргумент power является необязательным и имеет значение по умолчанию 2, однако пользователь может легко его изменить. Это также пример того, как можно добавить несколько аргументов. Обратите внимание: аргументы разделяются запятой, а значение по умолчанию задаётся с помощью знака равенства.

Добавим новую возможность в функцию percent_to_decimal() — округление результата до заданного числа знаков после запятой.

Это упражнение является частью курса

Средний уровень R для финансов

Посмотреть курс

Инструкции к упражнению

  • Заполните пропуски в улучшенной функции percent_to_decimal(), выполнив следующее:
    • Добавьте второй необязательный аргумент с именем digits и значением по умолчанию 2.
    • В теле функции разделите percent на 100 и присвойте результат переменной decimal.
    • Примените функцию round к переменной decimal, передав в качестве второго аргумента digits, чтобы задать количество знаков после запятой.
  • Ваша функция будет работать и с векторами длиной больше 1. Вектор percents уже определён.
  • Вызовите percent_to_decimal() для percents, не указывая необязательные аргументы.
  • Снова вызовите percent_to_decimal() для percents, указав digits = 4.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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
___
Редактировать и запускать код