向量运算
本课属于 Coddy R 学习旅程的“基础知识”单元。第 59 课,共 78 课。
R 最强大的功能之一,是能够一次对整个向量执行操作,而不需要遍历每个元素。这样可以让你的代码更简洁、更高效。
对向量使用算术运算符时,R 会对每个元素执行运算:
prices <- c(10, 25, 15, 30)
discounted <- prices * 0.9
print(discounted)输出:
[1] 9.0 22.5 13.5 27.0你还可以对两个长度相同的向量执行运算。R 会将对应的元素配对:
quantities <- c(2, 1, 4, 3)
prices <- c(10, 25, 15, 30)
totals <- quantities * prices
print(totals)输出:
[1] 20 25 60 90R 提供了实用的内置函数,可用于常见的向量计算,例如 sum()、mean()、min() 和 max():
scores <- c(85, 92, 78, 95, 88)
print(sum(scores))
print(mean(scores))
print(min(scores))
print(max(scores))输出:
[1] 438
[1] 87.6
[1] 78
[1] 95挑战
简单已为你提供以下向量:
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)执行以下操作,并打印每个结果:
- 将
hours_worked乘以hourly_rate,计算每天的收入(逐元素相乘)。打印这个向量。 - 给每天的收入增加 10% 的奖金(乘以
1.1)。打印更新后的收入向量。 - 使用
sum()打印本周的总收入。 - 使用
mean()打印日均收入。 - 使用
max()打印单日最高收入。 - 使用
min()打印单日最低收入。
输出应为:
[1] 120 140 162 132 136
[1] 132.0 154.0 178.2 145.2 149.6
[1] 759
[1] 151.8
[1] 178.2
[1] 132亲手试试
# 给定的向量
hours_worked <- c(8, 7, 9, 6, 8)
hourly_rate <- c(15, 20, 18, 22, 17)
# TODO:在下方编写你的代码
# 1. 计算每天的收入(逐元素相乘)
# 2. 给每天的收入加上 10% 的奖金
# 3. 使用 sum() 输出本周总收入
# 4. 使用 mean() 输出平均每日收入
# 5. 使用 max() 输出单日最高收入
# 6. 使用 min() 输出单日最低收入这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: R 在线编译器