0Pricing
R Academy · 课时

算术与比较运算符

学习 R 中的 +、-、*、/、%%、%/% 和比较运算符

算术与比较运算符 是 CoddyKit 上的免费 R Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 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, '
')

快速检查

在 R 中,表达式 17 %% 5 的计算结果是什么?

回顾:运算符和表达式

做得很好!以下是本课的重点:

  • 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, '
')

常见问题解答

「算术与比较运算符」课时是免费的吗?

是的 — 「算术与比较运算符」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 R Academy 课程的其余内容,请升级到 CoddyKit PRO。 R Academy 课程共包含 4 节课。

「算术与比较运算符」这节课中我会学到什么?

学习 R 中的 +、-、*、/、%%、%/% 和比较运算符 你通过在浏览器中直接运行的动手代码来练习 R Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 R Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 R Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「算术与比较运算符」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 R Academy 课中编写并运行代码吗?

能。每节 R Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 算术与比较运算符
  2. 逻辑运算符与布尔逻辑
  3. 赋值与特殊运算符
  4. 运算符优先级与复杂表达式
← 返回 R Academy