Несколько аргументов (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
___