太棒啦!现在我们来讲 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


✅ 实战小练习(建议试一试)

  1. 用 for 循环打印所有偶数(1~20)
  2. 用 while 累加 1+2+…+100
  3. 用 repeat 打印出从 1 开始的平方数,直到超过 100 为止

如果你想,我可以出几道“带答案的练习题”或者一个小项目(比如循环读取多个文件、数据分组处理),来帮助你练熟循环部分!要不要来一发?😎