太棒啦!现在我们来讲 R 语言中非常重要的一部分:循环(Loops)。
循环语句可以让你重复执行某些代码块,是自动化处理数据的关键技能。R 支持多种循环方式:
🔁 一、for
循环(最常见)
适用于已知循环次数的情况:
for (i in 1:5) {
print(i)
}
✅ 说明:
i in 1:5
:表示 i 从 1 到 5 循环。- 每次循环,i 的值会改变一次。
# 计算前10个数的平方
for (i in 1:10) {
print(i^2)
}
🔁 二、while
循环(适合未知循环次数)
x <- 1
while (x <= 5) {
print(x)
x <- x + 1
}
✅ 说明:
- 只要条件为
TRUE
,就会一直循环。 - 注意避免死循环(记得更新变量)。
⛔ 三、repeat
循环(无限循环 + 手动终止)
x <- 1
repeat {
print(x)
x <- x + 1
if (x > 5) break
}
✅ 特点:
- 永远循环,直到用
break
跳出。 - 通常很少用,除非你特别需要一个无法预知退出条件的循环。
🔂 四、控制语句 break
和 next
break
:跳出整个循环next
:跳过当前这次,进入下一次循环
# 打印1到10中除了5的数
for (i in 1:10) {
if (i == 5) next
print(i)
}
# 打印到遇到7就停止
for (i in 1:10) {
if (i == 7) break
print(i)
}
💡 五、向量操作更推荐“*apply家族”或向量化函数
R 是一个向量语言,大多数循环都可以用 apply()
、lapply()
、sapply()
替代,效率更高!
例如:
x <- 1:5
sapply(x, function(n) n^2) # 输出 [1] 1 4 9 16 25
✅ 实战小练习(建议试一试)
- 用
for
循环打印所有偶数(1~20) - 用
while
累加 1+2+…+100 - 用
repeat
打印出从 1 开始的平方数,直到超过 100 为止
如果你想,我可以出几道“带答案的练习题”或者一个小项目(比如循环读取多个文件、数据分组处理),来帮助你练熟循环部分!要不要来一发?😎
发表回复