Как и почти в любом другом языке программирования, в программировании на R нельзя избежать условного выполнения отдельных блоков кода. С помощью управляющей структуры if-else вы можете формулировать условия и, таким образом, контролировать выполнение вашей программы.
Возможное использование операторов R-if-else
Оператор if-else, часто называемый условным переходом, представляет собой код, который вызывает выполнение определенных блоков операторов только в том случае, если выполняется условие. Условная функциональность операторов if-else элементарна, поэтому большинство программ не могут без них обойтись. Использование условий if-else часто необходимо, особенно в более сложных алгоритмах.
Использование операторов if-else в исходном коде полезно, например, когда вы хотите проверить ввод пользователя для определенного значения. Однако структуры R-if-else в основном используются в сочетании с R-For-Loops : если вы ищете конкретное значение в структуре данных, вы можете использовать оператор If, чтобы сразу прервать цикл, как только у вас есть нашел это.
Синтаксис операторов R-if-else
Вы можете использовать операторы R-if-else различными способами, комбинируя ключевые слова if, else и else if по-разному. Однако в базовой логике ничего не меняется: выполнение отдельных блоков кода всегда связано с условием.
Синтаксис также строго определен. За ключевым словом if всегда следует условие, указанное в круглых скобках. В условии часто используются арифметические или логические операторы сравнения. За ним следует блок кода в фигурных скобках, который выполняется, только если заданное вами условие истинно. В зависимости от цели вашего оператора теперь вы можете использовать ключевое слово else для ввода блока кода, который будет выполняться, если условие if не выполняется. У вас также есть возможность сформулировать дополнительные условия с помощью ключевого слова «иначе, если».
Оператор R if
Если вы хотите выполнить определенное условное действие в своем коде и в противном случае продолжить выполнение своей программы по умолчанию, достаточно использовать один оператор R-if.
a <- 0 b <- 40 if (a == 0) { print("Zero division not allowed") stop() } c <- b / a
В приведенном выше примере кода мы хотим разделить число, хранящееся в переменной b, на число в переменной a. Поскольку известно, что деление на 0 является недопустимым, условие If проверяет, равно ли значение, хранящееся в a, 0. Только если это условие истинно, программа выполняет код в фигурных скобках, останавливая выполнение.
Оператор R if-else
Если вы хотите запускать блоки кода на основе неудовлетворенного условия, вы можете использовать оператор if-else. Как и в предыдущем случае, сначала формулируется условие if. Если это не так, ваша программа также переходит к блоку кода, написанному специально для этого случая. Здесь тоже пример помогает проиллюстрировать:
a <- 4 b <- 2 if (b < a) { print("a is greater than b") } else { print("a and b are equal or b is greater than a") }
Снова создаются две переменные a и b, которые содержат целочисленные значения. Условие If проверяет, меньше ли значение b значения a. Если это так, выполняется блок операторов внутри фигурных скобок. Если нет, программа переходит непосредственно к блоку операторов после ключевого слова else и выполняет содержащиеся там строки кода.
Оператор R R-else-if
В некоторых случаях может потребоваться проверить не одно, а сразу несколько условий. Для этого можно использовать ключевое слово «иначе, если». Если вы знакомы с операторами if-else Python, возможно, вы уже знакомы с оператором R else-if по ключевому слову elif.
a <- 4 b <- 2 if (b < a) { print("a is greater than b") } else if (b > a) { print("b is greater than a") }
Пример кода мало чем отличается от предыдущего. Только оператор Else был заменен оператором Else-if. Как и в случае с оператором if, условие должно быть помещено в круглые скобки после оператора else-if.
Обратите внимание, что условия, указанные с помощью else if, являются взаимоисключающими. Если, как в нашем случае, первое условие уже выполнено, код, введенный с помощью else if, даже не выполняется. По сравнению с несколькими простыми операторами if вы экономите вычислительную мощность, используя операторы else-if.








