R语言算术运算符 #

一、算术运算符概述 #

R语言提供了丰富的算术运算符,用于执行各种数学运算。

二、基本运算符 #

2.1 加法运算符 (+) #

r
5 + 3
10.5 + 2.5
-5 + 10

x <- c(1, 2, 3)
y <- c(4, 5, 6)
x + y

x + 10

2.2 减法运算符 (-) #

r
10 - 3
5.5 - 2.3
-10 - (-5)

x <- c(10, 20, 30)
x - 5

x <- c(10, 20, 30)
y <- c(1, 2, 3)
x - y

2.3 乘法运算符 (*) #

r
5 * 3
2.5 * 4
-3 * 4

x <- c(1, 2, 3)
x * 2

x <- c(1, 2, 3)
y <- c(4, 5, 6)
x * y

2.4 除法运算符 (/) #

r
10 / 2
7 / 2
10 / 3

x <- c(10, 20, 30)
x / 2

x <- c(10, 20, 30)
y <- c(2, 4, 5)
x / y

三、特殊运算符 #

3.1 整除运算符 (%/%) #

r
10 %/% 3
7 %/% 2
-7 %/% 2

x <- c(10, 15, 20)
x %/% 3

3.2 取余运算符 (%%) #

r
10 %% 3
7 %% 2
-7 %% 3

x <- c(10, 15, 20)
x %% 3

x %% 2 == 0

3.3 幂运算符 (^) #

r
2 ^ 3
2 ^ 10
4 ^ 0.5
9 ^ 0.5

x <- c(1, 2, 3, 4, 5)
x ^ 2
x ^ 0.5

四、矩阵运算 #

4.1 矩阵乘法 (%*%) #

r
A <- matrix(1:6, nrow = 2, ncol = 3)
B <- matrix(1:6, nrow = 3, ncol = 2)

A %*% B

4.2 Kronecker积 (%x%) #

r
A <- matrix(1:4, nrow = 2)
B <- matrix(c(1, 0, 0, 1), nrow = 2)

A %x% B

五、向量运算 #

5.1 向量与标量 #

r
x <- c(1, 2, 3, 4, 5)

x + 10
x - 5
x * 2
x / 2
x ^ 2
x %% 3
x %/% 2

5.2 向量与向量 #

r
x <- c(1, 2, 3)
y <- c(10, 20, 30)

x + y
x - y
x * y
x / y

5.3 循环补齐 #

r
x <- c(1, 2, 3)
y <- c(10, 20)

x + y

x <- c(1, 2, 3, 4)
y <- c(10, 20)

x + y

六、数学函数 #

6.1 绝对值 #

r
abs(-5)
abs(c(-1, 2, -3, 4))

6.2 平方根 #

r
sqrt(16)
sqrt(c(1, 4, 9, 16))
sqrt(-1)

6.3 指数和对数 #

r
exp(1)
exp(0)
exp(c(0, 1, 2))

log(10)
log(100, base = 10)
log2(8)
log10(100)
log1p(0)

6.4 三角函数 #

r
sin(0)
cos(0)
tan(0)

sin(pi / 2)
cos(pi)
tan(pi / 4)

asin(0.5)
acos(0.5)
atan(1)

6.5 取整函数 #

r
x <- 3.7

round(x)
round(3.14159, 2)
ceiling(x)
floor(x)
trunc(x)
signif(3.14159, 3)

七、运算符优先级 #

7.1 优先级顺序 #

从高到低:

优先级 运算符
1 ^
2 -x (一元负号)
3 :
4 %any% (特殊运算符)
5 * /
6 + -

7.2 示例 #

r
2 + 3 * 4
(2 + 3) * 4

2 ^ 3 ^ 2
(2 ^ 3) ^ 2

-2 ^ 2
(-2) ^ 2

2 * 3 + 4
2 + 3 * 4

八、特殊值处理 #

8.1 Inf和-Inf #

r
1 / 0
-1 / 0
Inf + Inf
Inf - Inf
Inf * 0

8.2 NaN #

r
0 / 0
Inf - Inf
NaN + 1
NaN * 0

8.3 NA #

r
NA + 1
NA * 2
NA / 3
sum(c(1, NA, 3))
sum(c(1, NA, 3), na.rm = TRUE)

九、实践示例 #

9.1 计算BMI #

r
weight <- 70
height <- 1.75

bmi <- weight / height ^ 2
print(round(bmi, 2))

9.2 温度转换 #

r
celsius <- 25
fahrenheit <- celsius * 9 / 5 + 32
print(fahrenheit)

fahrenheit <- 77
celsius <- (fahrenheit - 32) * 5 / 9
print(round(celsius, 1))

9.3 几何计算 #

r
radius <- 5
area <- pi * radius ^ 2
circumference <- 2 * pi * radius

cat("面积:", round(area, 2), "\n")
cat("周长:", round(circumference, 2), "\n")

9.4 数据标准化 #

r
normalize <- function(x) {
  (x - min(x)) / (max(x) - min(x))
}

data <- c(10, 20, 30, 40, 50)
normalize(data)

9.5 百分比计算 #

r
values <- c(100, 200, 150, 250)
total <- sum(values)
percentages <- values / total * 100

print(round(percentages, 2))

十、总结 #

本章学习了:

  • 基本算术运算符:+、-、*、/
  • 特殊运算符:%/%、%%、^
  • 矩阵运算:%*%、%x%
  • 向量运算和循环补齐
  • 常用数学函数
  • 运算符优先级
  • 特殊值处理

算术运算是数据分析的基础,熟练掌握这些运算符对于数据处理至关重要!

最后更新:2026-03-27