R语言循环

可能有一种情况,当你需要执行一段代码几次。 通常,顺序执行语句。 首先执行函数中的第一个语句,然后执行第二个语句,依此类推。

编程语言提供允许更复杂的执行路径的各种控制结构。

循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式

R编程语言提供以下种类的循环来处理循环需求。 单击以下链接以检查其详细信息。

Sr.No. 循环类型和描述
1 repeat循环

多次执行一系列语句,并简化管理循环变量的代码。

2 while循环

在给定条件为真时,重复语句或语句组。 它在执行循环体之前测试条件。

3 for循环

像while语句,不同之处在于它测试在循环体的端部的条件。


R语言 Repeat循环

Repeat循环重复执行相同的代码,直到满足停止条件。

语法

在R中创建Repeat循环的基本语法是

  1. repeat {
  2. commands
  3. if(condition) {
  4. break
  5. }
  6. }

流程图

  1. v <- c("Hello","loop")
  2. cnt <- 2
  3. repeat {
  4. print(v)
  5. cnt <- cnt+1
  6. if(cnt > 5) {
  7. break
  8. }
  9. }

当上面的代码被编译和执行时,它产生以下结果

  1. [1] "Hello" "loop"
  2. [1] "Hello" "loop"
  3. [1] "Hello" "loop"
  4. [1] "Hello" "loop"

R语言 While循环

While循环一次又一次地执行相同的代码,直到满足停止条件。

语法

在R中创建while循环的基本语法是

  1. while (test_expression) {
  2. statement
  3. }

流程图

while循环的关键点是循环可能永远不会运行。 当条件被测试并且结果为false时,循环体将被跳过,while循环之后的第一条语句将被执行。

  1. v <- c("Hello","while loop")
  2. cnt <- 2
  3. while (cnt < 7) {
  4. print(v)
  5. cnt = cnt + 1
  6. }

当上面的代码被编译和执行时,它产生以下结果

  1. [1] "Hello" "while loop"
  2. [1] "Hello" "while loop"
  3. [1] "Hello" "while loop"
  4. [1] "Hello" "while loop"
  5. [1] "Hello" "while loop"

R语言 For循环

For循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。

语法

在R中创建一个for循环语句的基本语法是

  1. for (test_expression) {
  2. statement
  3. }

流程图

R的for循环是特别灵活的,因为它们不限于整数,或者输入中的偶数。 我们可以传递字符向量,逻辑向量,列表或表达式。

  1. v <- LETTERS[1:4]
  2. for ( i in v) {
  3. print(i)
  4. }

当上面的代码被编译和执行时,它产生以下结果

  1. [1] "A"
  2. [1] "B"
  3. [1] "C"
  4. [1] "D"

循环控制语句

循环控制语句从其正常序列改变执行。 当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。

R语言支持以下控制语句。 单击以下链接以检查其详细信息。

Sr.No. 控制语句和描述
1 break语句

终止循环语句,并将执行转移到循环后立即执行的语句。

2 next语句

next语句模拟R语言switch语句的行为。


break语句

R语言中的break语句有以下两种用法:

当在循环中遇到break语句时,循环立即终止,并且程序控制在循环之后的下一语句处恢复。

它可以用于终止switch语句中的情况(在下一章中讨论)。

语法

在R中创建break语句的基本语法是

  1. break

流程图

  1. v <- c("Hello","loop")
  2. cnt <- 2
  3. repeat {
  4. print(v)
  5. cnt <- cnt + 1
  6. if(cnt > 5) {
  7. break
  8. }
  9. }

当上面的代码被编译和执行时,它产生以下结果

  1. [1] "Hello" "loop"
  2. [1] "Hello" "loop"
  3. [1] "Hello" "loop"
  4. [1] "Hello" "loop"

next语句

R语言存在next语句,当我们想跳过循环的当前迭代而不终止它时便可使用next。 遇到next时,R解析器跳过本次迭代,并开始循环的下一次迭代。

语法

在R中创建Next语句的基本语法是

  1. next

流程图

  1. v <- LETTERS[1:6]
  2. for ( i in v) {
  3. if (i == "D") {
  4. next
  5. }
  6. print(i)
  7. }

当上面的代码被编译和执行时,它产生以下结果

  1. [1] "A"
  2. [1] "B"
  3. [1] "C"
  4. [1] "E"
  5. [1] "F"

本文转自:http://codingdict.com/article/2830

R语言 循环的更多相关文章

  1. R 再也不用愁变量太多跑回归太麻烦!R语言循环常用方法总结

    在高维数据分析过程中,为了筛选出与目标结局相关的变量,通常会用到回归分析,但是因为自变量较多,往往要进行多次回归.这就是统计编程语言发挥作用的时候了 有些大神们认为超过3次的复制粘贴就可以考虑使用循环 ...

  2. R语言 循环语句、分支语句和中止语句-控制流篇

    for 循环 用法 for (n in m) expr 若n在m中则运行 expr while 循环 用法 while (condition) expr 当符合condition时运行expr rep ...

  3. R语言︱函数使用技巧(循环、if族/for、switch、repeat、ifelse、stopifnot)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 后续加更内容: 应用一:if族有哪些成员呢?- ...

  4. [R] R语言for循环机制

    在做数据分段截取的时候,发现for循环的表现和其他语言不太一样. 上代码: :) { i = i + print(i) } 结果: [] [] [] [] 即作为循环计次的i, 并不会因为在循环体中的 ...

  5. R语言(自定义函数、循环语句、管道函数)

    学习R语言半年多了,以前比较注重统计方法上的学习,但是最近感觉一些基础知识也很重要.去年的参考资料是<R语言实战>,今年主要是看视频.推荐网易云课堂里的教程,很多资料都是很良心的~ 目前学 ...

  6. R语言中的循环函数(Grouping Function)

    R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等.这几个函数功能有些类似,下面介绍下这几个函数的用法. Apply 这是 ...

  7. R语言作为BI中ETL的工具

    R语言作为BI中ETL的工具,增删改 R语言提供了强大的R_package与各种数据库进行数据交互. 外加其强大数据变换清洗函数,为ETL提供一条方便快捷的道路. RODBC ROracal RMys ...

  8. R语言-处理异常值或报错的三个示例

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Tuesday, March 31, 2015 之前用rvest帮人写了一个定期抓取amazon ...

  9. R语言-用R眼看琅琊榜小说的正确姿势

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html 目录: 零:写在前面的一些废话 一.R眼看琅琊榜的基本原理 1.导入数据 2.筛选数据 3.多条 ...

随机推荐

  1. Java支持的数据类型有哪些?什么是拆装箱?

    Java中有八种基本数据类型以及引用类型 基本数据类型: byte(1字节),short(2字节),int(4字节),long(8字节),char(2字节),boolean(不确定,取值是true/f ...

  2. java堆转储与内存分析

    jmap -dump:format=b,file=dumpfile.hprof pid       将进程的堆转储到dumpfile.hprof文件里 jmap -heap pid  查看堆内存占用情 ...

  3. 【线段树】[Luogu P4198]楼房修建

    显然要维护斜率区间单调递增 并且第一个必选,后一个比前一个选中的斜率大的必选 考虑如何合并两个区间 我们维护一个least值,least这个值必选,且之后选的都必须严格大于least,Push_Up的 ...

  4. Echart中X轴为时间坐标刻度时,后台返回时间List被强制转化为时间戳问题

    if(recordlist!=null&&recordlist.size()>0) { for (Record record : recordlist) { //根据频次决定使用 ...

  5. 【基础】Hint控制语句执行

    mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的hint功能.下面介绍一些常用的. ...

  6. Django -- 分页 -- 批量导入

    Django --  分页 分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返 ...

  7. Java中的并发库学习总结

    我们都知道,在JDK1.5之前,Java中要进行业务并发时,通常需要有程序员独立完成代码实现,当然也有一些开源的框架提供了这些功能,但是这些依然没有JDK自带的功能使用起来方便.而当针对高质量Java ...

  8. 线性筛积性函数+反演T套路——bzoj4407

    #include<bits/stdc++.h> using namespace std; #define ll long long #define mod 1000000007 #defi ...

  9. Django使用步骤

    pip install django django-admin startproject mysite tree django-admin startapp mysite_user django-ad ...

  10. Impala的安装和使用

    通过本地yum源进行安装impala 所有cloudera软件下载地址 http://archive.cloudera.com/cdh5/cdh/5/ http://archive.cloudera. ...