Видео: 23 Функция ЕСЛИ в Excel (IF) 2024
Если утверждения могут быть очень полезными в R, так как они находятся на любом языке программирования. Часто вы хотите сделать выбор и принять действие, зависящее от определенного значения.
Определение выбора в коде довольно просто: если это условие истинно, выполните определенную задачу. Многие языки программирования позволяют делать это с помощью таких слов: if … then. R делает это еще проще: вы можете отбросить слово , затем и указать свой выбор в выражении if.
Оператор if в R состоит из трех элементов:
-
Ключевое слово if
-
Единственное логическое значение между круглыми скобками (или выражением, которое приводит к одному логическому значению)
-
A блок кода между фигурными скобками, который должен быть выполнен, когда логическое значение TRUE
Вот очень маленькая функция priceCalculator (), которая вычисляет цену, которую вы взимаете с клиента, в зависимости от часов работы, которую вы сделали для этого клиента, Функция должна принимать количество часов (часов) и цену в час (pph) в качестве входных данных. Функция priceCalculator () может быть примерно такой:
priceCalculator <- function (hours, pph = 40) {net. цена <- hours * pph round (нетто-цена)}
Вот что делает этот код:
-
С помощью ключевого слова function вы определяете функцию.
-
Все, что находится между фигурными скобками, является телом функции (см. Главу 8).
-
Между круглыми скобками указываются часы аргументов (без значения по умолчанию) и pph (со значением по умолчанию 40 долларов США в час).
-
Вы вычисляете чистую цену, умножая часы на pph.
-
Результатом последнего утверждения в теле вашей функции является возвращаемое значение. В этом случае это общая цена, округленная до доллара.
Вы можете отказаться от аргумента pph и просто умножить часы на 40. Но это будет означать, что если, например, ваш коллега использует разную почасовую ставку, ему придется изменить значение в теле функции, чтобы быть в состоянии использовать его. Хорошая практика кодирования заключается в использовании аргументов со значениями по умолчанию для любого значения, которое может измениться. Это делает функцию более гибкой и удобной.
Теперь представьте, что у вас есть большие клиенты, которые дают вам много работы. Чтобы они были счастливы, вы решили дать им скидку в размере 10 процентов от цены за час для заказов, которые занимают более 100 часов работы. Таким образом, если количество отработанных часов больше 100, вы вычисляете новую цену, умножая цену на 0. 9.
Вы можете записать это почти буквально в свой код следующим образом:
priceCalculator <- function (час, pph = 40) {нетто. цена 100) {нетто. цена <- сеть.цена * 0. 9} round (нетто-цена)}
Скопируйте этот код в файл сценария и отправьте его на консоль, чтобы сделать его доступным для использования. Если вы попробуете эту функцию, вы можете увидеть, что уменьшение дается только в том случае, если количество часов больше 100: >> priceCalculator (часы = 55) [1] 2200> priceCalculator (часы = 110) [1] 3960
Эта конструкция является наиболее общим способом, с помощью которого можно указать оператор if. Но если в блоке кода есть только одна короткая строка кода, вам не нужно размещать брекеты вокруг нее. Вы можете изменить полный оператор if в функции со следующей строкой:
if (hours> 100) net. цена <- сеть. цена * 0. 9
Обычный способ получения справки по функции, названной, например, забавой. имя (? fun. name) не работает, если. Чтобы получить доступ к встроенной справке для if, вам нужно указать имя функции. Вы можете использовать одинарные кавычки, двойные кавычки или обратные ссылки. Каждое из следующих утверждений выводит вас на страницу справки, если:
? 'если если"? 'Если'