R语言 控制语句

R语言 控制语句

控制语句 是用来根据语句中提供的条件来控制程序的执行和流程的表达式。这些结构是用来在评估变量后做出决定的。在这篇文章中,我们将结合实例讨论所有的控制语句。

在R编程中,有8种类型的控制语句,如下。

  • if条件
  • if-else条件
  • for 循环
  • 嵌套循环
  • while 循环
  • repeat和break语句
  • return语句
  • next语句

if条件

这个控制结构检查括号中提供的表达式是否为真。如果为真,则继续执行大括号{}中的语句。

语法

if(expression){
    statements
    ....
    ....
}

例子

x <- 100
  
if(x > 10){
print(paste(x, "is greater than 10"))
}

输出

[1] "100 is greater than 10"

if-else条件

它与 if 条件类似,但当if条件中的测试表达式失败时,就会执行 else 条件中的语句。

语法

if(expression){
    statements
    ....
    ....
}
else{
    statements
    ....
    ....
}

例子

x <- 5
  
# Check value is less than or greater than 10
if(x > 10){
  print(paste(x, "is greater than 10"))
}else{
  print(paste(x, "is less than 10"))
}

输出

[1] "5 is less than 10"

for 循环

它是一种循环或重复执行的语句序列,直到达到退出条件。

语法

for(value in vector){
    statements
    ....
    ....
}

例子

x <- letters[4:10]
  
for(i in x){
  print(i)
}

输出

[1] "d"
[1] "e"
[1] "f"
[1] "g"
[1] "h"
[1] "i"
[1] "j"

嵌套循环

嵌套循环与简单循环类似。嵌套意味着循环内的循环。此外,嵌套循环被用来操作矩阵。

例子

# Defining matrix
m <- matrix(2:15, 2)
  
for (r in seq(nrow(m))) {
  for (c in seq(ncol(m))) {
    print(m[r, c])
  }
}

输出

[1] 2
[1] 4
[1] 6
[1] 8
[1] 10
[1] 12
[1] 14
[1] 3
[1] 5
[1] 7
[1] 9
[1] 11
[1] 13
[1] 15

while 循环

while 循环是另一种循环,它一直迭代到一个条件得到满足。在执行循环的主体之前,首先检查测试表达式。

语法

while(expression){
    statement
    ....
    ....
}

例子

x = 1
  
# Print 1 to 5
while(x <= 5){
  print(x)
  x = x + 1
}

输出

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

repeat循环和break语句

repeat 是一个可以重复多次的循环,但没有退出条件来退出这个循环。因此,break语句被用来从循环中退出。 break 语句可以用于任何类型的循环,以退出该循环。

语法

repeat { 
   statements
   ....
   .... 
   if(expression) {
      break
   }
}

例子

x = 1
  
# Print 1 to 5
repeat{
  print(x)
  x = x + 1
  if(x > 5){
    break
   }
}

输出

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

return语句

return 语句用于返回一个已执行的函数的结果,并将控制权返回给调用函数。

语法

return(expression)

例子

# Checks value is either positive, negative or zero
func <- function(x){
  if(x > 0){
    return("Positive")
  }else if(x < 0){
    return("Negative")
  }else{
    return("Zero")
  }
}
  
func(1)
func(0)
func(-1)

输出

[1] "Positive"
[1] "Zero"
[1] "Negative"

next语句

next 语句用于跳过当前迭代而不执行进一步的语句,继续下一个迭代周期而不终止循环。

例子

# Defining vector
x <- 1:10
  
# Print even numbers
for(i in x){
  if(i%%2 != 0){
    next #Jumps to next loop
  }
  print(i)
}

输出

[1] 2
[1] 4
[1] 6
[1] 8
[1] 10

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程