Арифметические операторы и операторы сравнения
Изучите операторы +, -, *, /, %%, %/% и операторы сравнения в R.
«Арифметические операторы и операторы сравнения» — бесплатный урок R Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения R Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс R Academy содержит 4 уроков всего.
Введение в операторы R
Операторы — это символы, которые указывают R выполнить определённые действия. В этом уроке мы рассмотрим арифметические операторы и операторы сравнения — основу любой программы на R.
R поддерживает все стандартные математические операции, а также некоторые уникальные, например вычисление остатка и целочисленное деление.
# Basic arithmetic in R
x <- 10
y <- 3
cat('x =', x, ', y =', y, '
')Сложение и вычитание
Операторы + и - работают так же, как в математике. Их можно применять как к отдельным значениям, так и ко всему вектору сразу.
price <- 49.99
discount <- 5.00
final_price <- price - discount
tax <- final_price + 3.50
cat('Final price with tax:', tax, '
')Умножение и деление
Используйте * для умножения и / для деления. Деление в R всегда возвращает десятичное число (число двойной точности), даже если делятся целые числа.
width <- 8
height <- 5
area <- width * height
half_area <- area / 2
cat('Area:', area, '
')
cat('Half area:', half_area, '
')
cat('7 / 2 =', 7 / 2, '
') # returns 3.5Возведение в степень с помощью ^
Используйте ^ (или **), чтобы возвести число в степень. Это полезно для научных вычислений и многочленных выражений.
side <- 4
area_square <- side ^ 2
cat('Area of square:', area_square, '
')
base <- 2
cat('2^8 =', base ^ 8, '
')
cat('Square root of 16:', 16 ^ 0.5, '
')Оператор вычисления остатка %%
Оператор %% возвращает остаток после деления. Он особенно полезен для проверки чётности числа и циклического перебора значений.
# Check if a number is even or odd
num <- 17
remainder <- num %% 2
cat(num, 'is', ifelse(remainder == 0, 'even', 'odd'), '
')
# Cycle through hours (0-23)
minutes <- 150
hours <- minutes %% 60
cat('150 minutes =', hours, 'minutes past the hour
')Целочисленное деление %/%
Оператор %/% выполняет целочисленное деление с округлением вниз, возвращая только целую частную и отбрасывая остаток. Представьте, сколько раз одно число целиком помещается в другом.
total_items <- 23
box_size <- 5
full_boxes <- total_items %/% box_size
leftover <- total_items %% box_size
cat('Full boxes:', full_boxes, '
')
cat('Leftover items:', leftover, '
')
cat('Check: 7 %/% 2 =', 7 %/% 2, '
')Равенство и неравенство
Операторы сравнения возвращают TRUE или FALSE. Используйте ==, чтобы проверить равенство, и !=, чтобы проверить неравенство. Обратите внимание: == отличается от = (присваивания).
score <- 85
passing_grade <- 60
cat('Did student pass?', score >= passing_grade, '
')
cat('Is score exactly 100?', score == 100, '
')
cat('Score is not 85?', score != 85, '
')Меньше и больше
Используйте <, >, <= и >= для сравнений по порядку. Они работают с числами, строками (в алфавитном порядке) и даже датами.
temp_c <- 37.2
normal_temp <- 37.0
cat('Fever?', temp_c > normal_temp, '
')
cat('Hypothermia?', temp_c < 35.0, '
')
cat('Normal or above?', temp_c >= normal_temp, '
')
# Works on strings too
cat('apple < banana:', 'apple' < 'banana', '
')Сравнение векторов
При применении операторов сравнения к векторам R сравнивает элементы по одному и возвращает логический вектор. Это называется векторизацией и является одной из ключевых особенностей R.
ages <- c(12, 25, 17, 34, 8)
cat('Ages:', ages, '
')
cat('Over 18:', ages > 18, '
')
cat('Exactly 17:', ages == 17, '
')
# Count how many are adults
cat('Number of adults:', sum(ages >= 18), '
')Сочетание арифметических операторов и операторов сравнения
Вы можете сочетать арифметические операторы и операторы сравнения в одном выражении. Сначала R вычисляет арифметические операции, затем выполняет сравнения. Это позволяет записывать краткие условные проверки.
# BMI check
weight_kg <- 70
height_m <- 1.75
bmi <- weight_kg / (height_m ^ 2)
cat('BMI:', round(bmi, 1), '
')
cat('Healthy BMI (18.5-24.9)?', bmi >= 18.5 & bmi <= 24.9, '
')
# Discount eligibility
total <- 120
cat('Qualifies for discount?', total >= 100, '
')Таблица операторов
Ниже приведена краткая справка по всем арифметическим операторам и операторам сравнения в R:
+— сложение-— вычитание*— умножение/— деление (всегда возвращает число двойной точности)^— возведение в степень%%— вычисление остатка%/%— целочисленное деление==,!=— равенство, неравенство<,>,<=,>=— сравнение по порядку
# Quick demo of all operators
x <- 10
y <- 3
cat('10 + 3 =', x + y, '
')
cat('10 - 3 =', x - y, '
')
cat('10 * 3 =', x * y, '
')
cat('10 / 3 =', x / y, '
')
cat('10 %% 3 =', x %% y, '
')
cat('10 %/% 3 =', x %/% y, '
')
cat('10 > 3 =', x > y, '
')Быстрая проверка
Какое значение принимает выражение 17 %% 5 в R?
Повторение: операторы и выражения
Отличная работа! Вот основные выводы этого урока:
- R предоставляет арифметические операторы:
+,-,*,/,^,%%,%/% %%возвращает остаток, а%/%— целую частную- Операторы сравнения (
==,!=,<,>и другие) возвращаютTRUEилиFALSE - Операторы векторизованы — они применяются к элементам векторов по одному
- Арифметические операции вычисляются до сравнений (стандартный приоритет)
# Final example: find numbers divisible by 3
nums <- 1:15
divisible_by_3 <- nums[nums %% 3 == 0]
cat('Numbers 1-15 divisible by 3:', divisible_by_3, '
')Часто задаваемые вопросы
Урок «Арифметические операторы и операторы сравнения» бесплатный?
Да — полный текст урока «Арифметические операторы и операторы сравнения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс R Academy, подпишись на CoddyKit PRO. Курс R Academy содержит 4 уроков всего.
Чему я научусь в уроке «Арифметические операторы и операторы сравнения»?
Изучите операторы +, -, *, /, %%, %/% и операторы сравнения в R. Ты практикуешь R Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать R Academy?
Предыдущий опыт не требуется. R Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Арифметические операторы и операторы сравнения»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке R Academy?
Да. Каждый урок R Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Арифметические операторы и операторы сравнения
- Логические операторы и булева логика
- Операторы присваивания и специальные операторы
- Приоритет операторов и сложные выражения