Оглавление:
Видео: Scratch 2025
Иногда полезно переключаться между возможностями в R. Вложенное if … else утверждение особенно полезно, если у вас есть полные кодовые блоки, которые должны выполняться при выполнении условия. Но если вам нужно выбрать значения, основанные только на условии, есть лучший вариант: используйте функцию switch ().
Сделать выбор с помощью переключателя
При выборе варианта с коммутатором у вас есть список из трех возможных вариантов, и для каждого выбора у вас есть конкретная ставка НДС. Вы можете использовать функцию switch () следующим образом:
VAT <- switch (client, private = 1. 12, public = 1. 06, за границей = 1)
Вы строите вызов switch () следующим образом:
-
Дайте single значение как первый аргумент (в данном случае - значение клиента).
Обратите внимание, что switch () не векторизован, поэтому он не может рассматривать векторы как первый аргумент.
-
После первого аргумента вы даете список вариантов с уважаемыми значениями.
Обратите внимание, что вам не нужно помещать кавычки вокруг выбора.
Помните, что switch () не работает в векторном виде. Однако вы можете легко отличить выбор, чтобы код стал более читаемым.
Фактически, первый аргумент не должен быть значением; это может быть некоторое выражение, которое оценивается либо символьным вектором, либо числом. В случае, если вы работаете с числами, вам даже не нужно использовать функцию выбора = значение в вызове функции. Если у вас есть целые числа, switch () вернет опцию в этой позиции. В switch оператора (2, «некоторое значение», «что-то еще», «еще несколько») результат «что-то еще».
Использовать значения по умолчанию в коммутаторе
Вам не нужно указывать все параметры в вызове switch (). Если вы хотите получить определенный результат, если совпадающее значение не относится к указанным параметрам, поместите этот результат в качестве последнего параметра без какого-либо выбора.
VAT <- switch (client, private = 1. 12, public = 1. 06, 1)
Вы можете легко проверить это на консоли, создав объект с клиентом с определенным значением, а затем запустив switch (), как в следующем примере: >> client switch (client, private = 1. 12, public = 1. 06, 1) [1] 1
Вы можете дать клиенту разные значения, чтобы увидеть, как switch () работает.