📜  for - R 编程语言(1)

📅  最后修改于: 2023-12-03 14:41:17.989000             🧑  作者: Mango

For循环 - R编程语言

在R编程语言中,For循环是一种常用的迭代工具,它允许程序员重复执行某个操作,直到达到特定的条件。本文将介绍For循环的基本语法和使用技巧。

基本语法

在R中,For循环基本语法如下:

for (variable in sequence) {
  …
  # 待执行的语句
  …
}

其中,variable是迭代变量的名称,sequence是待迭代的序列。每次迭代,variable将取sequence中的一个值,并执行花括号中间的语句。

例如,以下代码将从0迭代到9,并输出每个数字:

for (i in 0:9) {
  print(i)
}

输出结果:

[1] 0
[1] 1
[1] 2
...
[1] 9
循环控制语句

除了基本语法,For循环还支持多种控制语句,用于中途跳出循环或调整迭代步长。

break语句

break语句用于在循环中途退出,并跳转到循环之外的语句。

例如,以下代码将从0迭代到9,但当i取到5时,会跳出循环:

for (i in 0:9) {
  if (i == 5) {
    break
  }
  print(i)
}

输出结果:

[1] 0
[1] 1
[1] 2
[1] 3
[1] 4
next语句

next语句用于在循环中途跳过当前迭代,并进入下一次循环。

例如,以下代码将从0迭代到9,但当i取到5时,会跳过该次迭代:

for (i in 0:9) {
  if (i == 5) {
    next
  }
  print(i)
}

输出结果:

[1] 0
[1] 1
[1] 2
[1] 3
[1] 4
[1] 6
[1] 7
[1] 8
[1] 9
循环嵌套

For循环还支持多层嵌套,以处理更加复杂的问题。

例如,以下代码使用两层For循环,计算矩阵的内积:

mat1 <- matrix(1:4, nrow = 2)
mat2 <- matrix(1:4, nrow = 2)
result <- matrix(0, nrow = nrow(mat1), ncol = ncol(mat2))

for (i in 1:nrow(mat1)) {
  for (j in 1:ncol(mat2)) {
    result[i, j] <- sum(mat1[i, ] * mat2[, j])
  }
}

print(result)

输出结果:

     [,1] [,2]
[1,]    7   10
[2,]   15   22

该代码中,外层For循环遍历mat1的每一行,内层For循环遍历mat2的每一列,并计算对应元素的内积。

总结

For循环是R编程语言中的一种重要工具,它允许程序员重复执行某个操作,并支持多种控制语句和循环嵌套。熟练掌握For循环的语法和使用技巧,将极大提高程序员的效率和代码质量。