R语言-循环repeat,while,for,foreach,iter,next,break
2018-03-19 15:40
1016 查看
R中有三种不同的循环结构:1.repeat结构它只是简单的重复同一个表达式:repeat expression,如果要跳出循环,可以使用break命令,若要跳至循环中的下一轮迭代,需要使用next命令;如果在循环中不包括break命令,R代码将会是一个无限循环。因此,常用的结构如下:
举例如下:
2.while结构:在某个条件为真时,重复某一特定的表达式
举例如下:
3. for循环结构可以遍历向量或者列表中的每个元素:
举例如下:
4.循环扩展我们都知道C#或者java等现代编程语言中,都会有foreach等迭代器。R语言本身并没有提供这样的机制,不过我们可以通过R语言添加包来实现(1)迭代器:从另外一个对象中返回元素的抽象对象。使用迭代器可以使代码具有更好的可读性同时易于并行执行。添加R语言扩展包iterators可以实现迭代器功能。迭代器可以返回向量、数组、数据框或者其他对象的元素,当然也可以返回函数。
举例如下:
(2)foreach循环:该功能通过R语言扩展包foreach实现,foreach能够循环遍历某个对象(向量、矩阵、数据框或者迭代器)中的多个元素,针对各个元素执行表达式,并返回结果。
真正执行foreach循环,需要使用%do%或者%dopar%运算符
%do%运算符顺序执行表达式,而%dopar%运算符可以用来并行执行表达式。五、R语言中的break,next
(1)R语言存在next语句当我们想跳过循环的当前迭代而不终止它时便可使用next。 遇到next时,R解析器跳过本次迭代,并开始循环的下一次迭代。
(2)R语言中的break语句有以下两种用法:当在循环中遇到break语句时,循环立即终止,并且程序控制在循环之后的下一语句处恢复。
它可以用于终止switch语句中的情况(在下一章中讨论)。
(1)R语言存在next语句当我们想跳过循环的当前迭代而不终止它时便可使用next。 遇到next时,R解析器跳过本次迭代,并开始循环的下一次迭代。
语法
在R中创建Next语句的基本语法是 -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"
(2)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"
相关文章推荐
- 使用for、while 以及repeat-break实现循环语句
- PHP循环语句详解 while, for, foreach, do while
- Python入门(三):if判断、for和while循环、break和continue
- JavaScript之基础-7 JavaScript 循环结构 (while、do-while、for及循环中的continue、break)
- 4 Java基础语法(switch语句,循环语句(for,while),控制跳转语句(break,return,continue))
- 循环语句:for;while;for while;foreach
- 20.10-20.15 for循环20.11/20.12 while循环20.13 break跳出循
- Java循环结构,while、for和break…
- 分支语句(if,switch case)、循环(for,while,do while)、continue、break、随机数
- R语言中的循环及其扩展:iter和foreach
- for、while循环、break跳出循环、continue结束本次循环、exit退出脚本
- PHP循环语句详解 while, for, foreach, do while
- Python基础(条件判断和循环) if elif else for while break continue;
- js---javaScript(循环语句的使用实例)for while do....while(转移语句): break, continue , return
- PHP循环语句详解 while, for, foreach, do while
- java for/foreach/while 3种循环性能比较
- PHP中的循环while、do...while、for、foreach四种循环。
- for或while循环的break
- unless,until, for, while, last, next,foreach redo
- Shell 脚本之循环语句(for,while,until)以及case,select,break,continue实例详解