0Pricing
R Academy · Урок

Арифметические операторы и операторы сравнения

Изучите операторы +, -, *, /, %%, %/% и операторы сравнения в 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 — локальная установка не требуется.

Все уроки этого курса

  1. Арифметические операторы и операторы сравнения
  2. Логические операторы и булева логика
  3. Операторы присваивания и специальные операторы
  4. Приоритет операторов и сложные выражения
← Назад к R Academy