您好,登录后才能下订单哦!
这篇文章主要介绍了R语言的循环类型有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇R语言的循环类型有哪些文章都会有所收获,下面我们一起来看看吧。
循环,用来处理对多个同类输入做相同事情(即迭代),如对不同列做相同操作、对不同数据集做相同操作。循环语句允许我们多次执行一个语句或语句组。
R 语言提供的循环类型有:
repeat 循环
while 循环
for 循环
R 语言提供的循环控制语句有:
break 语句
Next 语句
循环控制语句改变你代码的执行顺序,通过它你可以实现代码的跳转。
repeat 循环会一直执行代码,直到条件语句为 false 时才退出循环,退出要使用到 break 语句。语法格式如下:
repeat { // 相关代码 if(condition){ break }}
以下实例在变量 cnt 为 5 时退出循环,cnt 为计数变量:
repeat { v <- c("Google","Runoob") cnt <- 2 repeat { print(v) cnt <- cnt+1 if(cnt > 5) { break } }
执行以上代码,输入结果为:
[1] "Google" "Runoob" [1] "Google" "Runoob" [1] "Google" "Runoob" [1] "Google" "Runoob"
只要给定的条件为 true,R 语言中的 while 循环语句会重复执行一个目标语句。
语法格式如下:
while(condition) { statement(s); }
在这里,statement(s) 可以是一个单独的语句,也可以是几个语句组成的代码块。
condition 可以是任意的表达式,当为任意非零值时都为 true。当条件为 true 时执行循环。当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。
以下实例在在变量 cnt 小于 7 时输出 while 语句块中的内容,cnt 为计数变量:
v <- c("Google","Runoob") cnt <- 2 while (cnt < 7) { print(v) cnt = cnt + 1 }
执行以上代码,输入结果为:
[1] "Google" "Runoob" [1] "Google" "Runoob" [1] "Google" "Runoob" [1] "Google" "Runoob" [1] "Google" "Runoob"
R 编程语言中 for 循环语句可以重复执行指定语句,重复次数可在 for 语句中控制。
语法格式如下:
for (value in vector) { statements }
R 语言的 for 循环特别灵活,不仅可以循环整数变量,还可以对字符向量,逻辑向量,列表等数据类型进行迭代。
以下实例输出 26 个字母对前面四个字母:
v <- LETTERS[1:4] for ( i in v) { print(i) }
执行以上代码,输入结果为:
[1] "A" [1] "B" [1] "C" [1] "D"
R 语言的 break 语句插入在循环体中,用于退出当前循环或语句,并开始脚本执行紧接着的语句。
如果你使用循环嵌套,break 语句将停止最内层循环的执行,并开始执行的外层的循环语句。
break 也常用于 switch 语句中。
语法格式如下:
break
以下实例在 变量 cnt 为 5 时使用 break 退出循环,cnt 为计数变量:
v <- c("Google","Runoob") cnt <- 2 repeat { print(v) cnt <- cnt+1 if(cnt > 5) { break } }
执行以上代码,输入结果为:
[1] "Google" "Runoob" [1] "Google" "Runoob" [1] "Google" "Runoob" [1] "Google" "Runoob"
next 语句用于跳过当前循环,开始下一次循环(类似其他语言的 continue)。
语法格式如下:
next
以下实例输出 26 个字母的前面 6 个字母,在字母为 D 的时候跳过当前的循环,进行下一次循环:
v <- LETTERS[1:6] for ( i in v) { if (i == "D") { # D 不会输出,跳过这次循环,进入下一次 next } print(i) }
执行以上代码,输入结果为:
[1] "A" [1] "B" [1] "C" [1] "E" [1] "F"
关于“R语言的循环类型有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“R语言的循环类型有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。