R语言 循环
R语言循环
可能有一种情况,当你需要执行一段代码几次。 通常,顺序执行语句。 首先执行函数中的第一个语句,然后执行第二个语句,依此类推。
编程语言提供允许更复杂的执行路径的各种控制结构。
循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式
R编程语言提供以下种类的循环来处理循环需求。 单击以下链接以检查其详细信息。
Sr.No. | 循环类型和描述 |
---|---|
1 | repeat循环
多次执行一系列语句,并简化管理循环变量的代码。 |
2 | while循环
在给定条件为真时,重复语句或语句组。 它在执行循环体之前测试条件。 |
3 | for循环
像while语句,不同之处在于它测试在循环体的端部的条件。 |
R语言 Repeat循环
Repeat循环重复执行相同的代码,直到满足停止条件。
语法
在R中创建Repeat循环的基本语法是
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"
R语言 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"
R语言 For循环
For循环是一种重复控制结构,允许您有效地编写需要执行特定次数的循环。
语法
在R中创建一个for循环语句的基本语法是
for (test_expression) {
statement
}
流程图
R的for循环是特别灵活的,因为它们不限于整数,或者输入中的偶数。 我们可以传递字符向量,逻辑向量,列表或表达式。
例
v <- LETTERS[1:4]
for ( i in v) {
print(i)
}
当上面的代码被编译和执行时,它产生以下结果
[1] "A"
[1] "B"
[1] "C"
[1] "D"
循环控制语句
循环控制语句从其正常序列改变执行。 当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。
R语言支持以下控制语句。 单击以下链接以检查其详细信息。
Sr.No. | 控制语句和描述 |
---|---|
1 | break语句
终止循环语句,并将执行转移到循环后立即执行的语句。 |
2 | next语句
next语句模拟R语言switch语句的行为。 |
break语句
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语句
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"
本文转自:http://codingdict.com/article/2830
R语言 循环的更多相关文章
- R 再也不用愁变量太多跑回归太麻烦!R语言循环常用方法总结
在高维数据分析过程中,为了筛选出与目标结局相关的变量,通常会用到回归分析,但是因为自变量较多,往往要进行多次回归.这就是统计编程语言发挥作用的时候了 有些大神们认为超过3次的复制粘贴就可以考虑使用循环 ...
- R语言 循环语句、分支语句和中止语句-控制流篇
for 循环 用法 for (n in m) expr 若n在m中则运行 expr while 循环 用法 while (condition) expr 当符合condition时运行expr rep ...
- R语言︱函数使用技巧(循环、if族/for、switch、repeat、ifelse、stopifnot)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 后续加更内容: 应用一:if族有哪些成员呢?- ...
- [R] R语言for循环机制
在做数据分段截取的时候,发现for循环的表现和其他语言不太一样. 上代码: :) { i = i + print(i) } 结果: [] [] [] [] 即作为循环计次的i, 并不会因为在循环体中的 ...
- R语言(自定义函数、循环语句、管道函数)
学习R语言半年多了,以前比较注重统计方法上的学习,但是最近感觉一些基础知识也很重要.去年的参考资料是<R语言实战>,今年主要是看视频.推荐网易云课堂里的教程,很多资料都是很良心的~ 目前学 ...
- R语言中的循环函数(Grouping Function)
R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等.这几个函数功能有些类似,下面介绍下这几个函数的用法. Apply 这是 ...
- R语言作为BI中ETL的工具
R语言作为BI中ETL的工具,增删改 R语言提供了强大的R_package与各种数据库进行数据交互. 外加其强大数据变换清洗函数,为ETL提供一条方便快捷的道路. RODBC ROracal RMys ...
- R语言-处理异常值或报错的三个示例
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Tuesday, March 31, 2015 之前用rvest帮人写了一个定期抓取amazon ...
- R语言-用R眼看琅琊榜小说的正确姿势
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html 目录: 零:写在前面的一些废话 一.R眼看琅琊榜的基本原理 1.导入数据 2.筛选数据 3.多条 ...
随机推荐
- (数据科学学习手札59)从抓取数据到生成shp文件并展示
一.简介 shp格式的文件是地理信息领域最常见的文件格式之一,很好的结合了矢量数据与对应的标量数据,而在Python中我们可以使用pyshp来完成创建shp文件的过程,本文将从如何从高德地图获取矢量信 ...
- React 生命周期 16.0以下
虽然有人画过了 但是自己画一下也能加深记忆吧
- windows 开启管理员权限
在使用cmd为windows系统的电脑添加一条路由的时候,发现提示我权限不足,经过我的查找,需要在 我的电脑 右键 管理 本地用户管理 打开用户一栏 找到管理员账户 右键打开属 ...
- Mysql事务学习笔记
Mysql事务学习笔记 1.事务概述 事务是数据库的执行单元,它包含了一条或多条sql语句,进行的操作是要么全部执行,要么全部都不执行. 2.事务执行命令 语法格式: start transactio ...
- 每天进步一点点-WPF-根据数据类型加载控件
目的,根据数据类型的不同,动态的加载适用于不同数据类型的控件(布局) 原理:为自定义的数据类型添加数据魔板,绑定的时候绑定这些数据类型的实例. 例子: 数据类型: 数据模板: <DataTemp ...
- Java 获取当前路径的方法总结
Java 获取当前路径的方法总结 1.利用System.getProperty()函数获取当前路径: System.out.println(System.getProperty("user. ...
- 牛客网 NOIP赛前集训营-普及组(第四场)C--部分和 (高维前缀和)
传送门 解题思路 高维前缀和模板题.首先,求前缀和有两种方式,比如说对于求二维前缀和来说. 第一种 : for(int i=1;i<=n;i++) for(int j=1;j<=n;j++ ...
- NX二次开发-UFUN工程图更新视图UF_DRAW_update_one_view
NX9+VS2012 #include <uf.h> #include <uf_draw.h> #include <uf_obj.h> #include <u ...
- NAT穿透解决方案介绍(转)--Java ICE实现
转:http://www.cnblogs.com/javaminer/p/3575282.html 最近公司要实现在各种网络环境下面的多屏互动(机顶盒.android phone.iphone及PC端 ...
- 李宏毅机器学习课程---2、Regression - Case Study
李宏毅机器学习课程---2.Regression - Case Study 一.总结 一句话总结: 分类讨论可能是比较好的找最佳函数的方法:如果 有这样的因素存在的话 模型不够好,可能是因素没有找全 ...