R For 循环


For 循环

for循环用于迭代序列:

示例

for (x in 1:10) {
  print(x)
}
亲自试一试 »

这不太像for其他编程语言中的关键字,并且工作方式更像其他面向对象编程语言中的迭代器方法。

随着for循环我们可以执行一组语句,对向量、数组、列表等中的每个项目执行一次。

您将了解列表向量等在后面的章节中。

示例

打印列表中的每个项目:

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  print(x)
}
亲自试一试 »

示例

打印骰子的数量:

dice <- c(1, 2, 3, 4, 5, 6)

for (x in dice) {
  print(x)
}
亲自试一试 »

这个for循环不需要预先设置索引变量,就像 withwhile循环。


休息

随着break语句,我们可以在循环遍历所有项目之前停止循环:

示例

在 "cherry" 处停止循环:

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  if (x == "cherry") {
    break
  }
  print(x)
}
亲自试一试 »

循环将在 "cherry" 处停止,因为我们选择使用break声明时x等于 "cherry" (x == "cherry")。



下一个

随着next语句,我们可以跳过迭代而不终止循环:

示例

跳过"banana":

fruits <- list("apple", "banana", "cherry")

for (x in fruits) {
  if (x == "banana") {
    next
  }
  print(x)
}
亲自试一试 »

当循环经过"banana"时,会跳过它继续循环。


快艇!

If .. Else 与 For 循环组合

为了演示一个实际的例子,假设我们玩 Yahtzee 游戏!

示例

打印 "Yahtzee!" 如果骰子数是 6:

dice <- 1:6

for(x in dice) {
  if (x == 6) {
    print(paste("The dice number is", x, "Yahtzee!"))
  } else {
    print(paste("The dice number is", x, "Not Yahtzee"))
  }
}
亲自试一试 »

如果循环达到 1 到 5 之间的值,它将打印 "No Yahtzee" 及其编号。当它达到值 6 时,它会打印 "Yahtzee!" 及其编号。