[1] 15
9 Арифметичні та логічні оператори
9.1 Арифметичні оператори
R можна використовувати як звичайни калькулятор.
Розглянемо набір звичних арифметичних операторів, що відомі з початкової школи:
- Додавання:
+. - Віднімання:
-. - Ділення:
/. - Множення:
*.
А також більш складні оператори:
- Піднесення до степеня:
^(вводиться з клавіатури якShift+6на ENG-розкладці клавіатури). - Остача від ділення (ще може називатися “ділення по модулю”):
%%(вводиться з клавіатури якShift+5). - Ділення націло:
%/%.
Розглянемо приклад додавання чисел:
Примітка. Використання “круглих” дужок у прогрмуванні виразах має пріоритет аналогічний до загальноприйнятих у математиці.
Розглянемо приклад віднімання чисел:
Примітка. Заміна знаків до/в “дужках” тут працює так само як працювала у школі :)
Приклади множення чисел:
Приклади ділення чисел:
Піднесення до степеня за допомогю оператора ^ є досить простим. Так, наприклад, 3^2 (у математиці записується як \(3^2\)) дорівнює 9, а 2^3 - це 2*2*2 і дорівнює 8.
Остача від ділення дозволяє знайти залишок одного числа від ділення на інше число.
Наприклад, остача від ділення націло 5 на 2 дорівнює 1, бо 2 * 2 (=4) + 1 = 5
Примітка. Пробіли між цифрами та операторами можна не лишати, це робиться для зручності візуального сприйняття коду.
Ділння націло залишає лише цілу частину від ідленнядвох чисел:
9.2 Оператори відношення
Оператори відношення відповідають за порівнняння двох об’єктів між собою та повертають значення логічного типу TRUE, якщо результат істинний та FALSE, якщо результат хибний.
Перелік операторів відношення:
- Більше або дорівнює
>=. - Менше
<. - Менше або дорівнює
<=. - Дорівнює
==. - Не дорівнює
!=
Для демонстрації принципів роботи операторів відношення оголосимо 3 змінні a, b та c.
Розгялнемо кілька прикладів використання описаних вище операторів.
Оператори, що відповідають за первірку на “більше/менше”:
Оператори, що відповідають за перевірку на “рівність/нерівність”:
9.3 Логічні оператори
До логічних операторів у R відносяться:
-
&- І (амперсант,Shift-7) - виконання усіх умов одночасно. -
|- АБО (вертикальна риска,Shift+\) - виконання однієї із умов. -
!- НЕ (знак оклику,Shift+1) - заперечення.
Зверніть увагу, що у R існують також і оператори && та ||. Це також логічні оператори І та АБО. Проте їх відмінність полягає у тому, що “розширені” оператори порівнюють лише перші елементи векторів, у той час як “скорочені” усі елементи:
[1] 5 8 10
[1] 3 2 5
[1] FALSE TRUE TRUE
Важливо розуміти відмінності між цими операторами вміти використовувати результи їх роботи. Для початку варто розглянути таблицю істинності:
| A | B | Оператор І | Оператор АБО | Заперечення A (не A) |
|---|---|---|---|---|
| FALSE | FALSE | FALSE | FALSE | TRUE |
| FALSE | TRUE | FALSE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE | FALSE |
| TRUE | TRUE | TRUE | TRUE | FALSE |
Приклади використання логічних операторів зображені нижче.
Оператор І (and):
[1] TRUE
[1] FALSE
[1] FALSE
[1] FALSE
Оператор АБО (or):
Приклади виконання завдань
Завдання 1. Ділення по модулю
Яким буде результат виконання наступних команд?
Результат:
Пояснення: \(a\) %% \(b = 2\), бо остача від ділення \(10\) на \(4\) рівна \(2\), а \(2 > 0 = true\).
Завдання 2. Ділення по модулю
Яким буде результат виконання наступних команд?
Підзавдання 1:
Результат:
Підзавдання 2:
Результат:
Підзавдання 3:
Результат: