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 循环不需要预先设置索引变量,就像 while 循环一样。


Break

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

实例

在 "cherry" 处停止循环:

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

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

循环将在"cherry"处停止。 因为我们选择在 x 等于 "cherry" 时使用 break 语句来完成循环。 (x == "cherry")。



Next

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

实例

Skip "banana":

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

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

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


Yahtzee!

If .. Else 与 For 循环结合

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

实例

如果数为6,则打印 "Yahtzee!":

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!" 及其编号。


嵌套循环

你也可以在循环内有一个循环:

实例

打印列表中每个水果的形容词:

adj <- list("red", "big", "tasty")

fruits <- list("apple", "banana", "cherry")
  for (x in adj) {
    for (y in fruits) {
      print(paste(x, y))
  }
}
亲自试一试 »