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