R 语言 循环

  • 循环

    循环在某些情况下,您需要多次执行一个代码块。通常,语句是按顺序执行的。首先执行函数中的第一条语句,然后执行第二条,依此类推。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句使我们可以多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式-
    c loop_architecture
    R提供以下类型的循环。
  • Repeat 循环

    Repeat 循环 一次又一次地执行相同的代码,直到满足停止条件。
    在R中创建重复循环的基本语法是-
     
    repeat { 
       commands 
       if(condition) {
          break
       }
    }
    
    示例
     
    v <- c("Hello","loop")
    cnt <- 2
    
    repeat {
       print(v)
       cnt <- cnt+1
       
       if(cnt > 5) {
          break
       }
    }
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
     
    [1] "Hello" "loop" 
    [1] "Hello" "loop" 
    [1] "Hello" "loop" 
    [1] "Hello" "loop" 
    
  • While 声明

    While 循环 循环一次又一次执行相同的代码,直到满足停止条件为止。
    在R中创建while循环的基本语法是-
     
    while (test_expression) {
       statement
    }
    
    while循环的关键是循环可能永远不会运行。当条件被测试并且结果为false时,将跳过循环主体,并执行while循环之后的第一条语句。
     
    v <- c("Hello","while loop")
    cnt <- 2
    
    while (cnt < 7) {
       print(v)
       cnt = cnt + 1
    }
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
     
    [1] "Hello"  "while loop"
    [1] "Hello"  "while loop"
    [1] "Hello"  "while loop"
    [1] "Hello"  "while loop"
    [1] "Hello"  "while loop"
    
  • For 循环

    For 循环 是重复控制结构,这样就有效地编写一个循环,需要执行的特定次数。
    在R中创建for循环的基本语法是-
     
    for (value in vector) {
       statements
    }
    
    R的for循环特别灵活,因为它们不仅限于整数,甚至不等于输入中的数字。我们可以传递字符向量,逻辑向量,列表或表达式。
     
    v <- LETTERS[1:4]
    for ( i in v) {
       print(i)
    }
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
     
    [1] "A"
    [1] "B"
    [1] "C"
    [1] "D"
    
  • Bread 声明

    R 编程语言中的break语句具有以下两种用法-
    • 当在循环内遇到break语句时,循环立即终止,程序控制在循环后的下一条语句处恢复。
    • 它可用于终止switch语句中的个案(在下一章中介绍)。
    在R中创建break语句的基本语法是-
     
    break
    
     
    v <- c("Hello","loop")
    cnt <- 2
    
    repeat {
       print(v)
       cnt <- cnt + 1
            
       if(cnt > 5) {
          break
       }
    }
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
     
    [1] "Hello" "loop" 
    [1] "Hello" "loop" 
    [1] "Hello" "loop" 
    [1] "Hello" "loop" 
    
  • Next 声明

    Next当我们想跳过循环的当前迭代而不终止它一个R编程语言的语句是有用的。遇到Next时,R分析器将跳过进一步的评估,并开始循环的下一个迭代。
    在R中创建下一条语句的基本语法是-
     
    next
    
     
    v <- LETTERS[1:6]
    for ( i in v) {
       
       if (i == "D") {
          next
       }
       print(i)
    }
    
    尝试一下
    编译并执行上述代码后,将产生以下结果-
     
    [1] "A"
    [1] "B"
    [1] "C"
    [1] "E"
    [1] "F"