前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【R语言温故而知新】使用for、while 以及repeat-break实现循环语句

【R语言温故而知新】使用for、while 以及repeat-break实现循环语句

作者头像
统计学家
发布2019-04-10 10:21:59
2.1K0
发布2019-04-10 10:21:59
举报

在R语言中,可以使用for、while 以及repeat-break实现循环语句。循环语句可以简单依据计数操作(当计数器达到了设定的循环次数时自动停止)或者某一向量来进行轮询。

1.for循环语句

一组用户在网上的页面浏览量(PV)如表

用户ID 页面浏览量PV 用户ID 页面浏览量PV 用户ID 页面浏览量PV 1 1 6 ?1 11 1 2 1 7 15 12 2 3 2 8 ?7 13 3 4 3 9 18 14 1 5 1 10 ?1 15 1

如果要对用户进行分类,如规定每日页面浏览量PV为1~5的是初级用户,6~15的为中级用户,PV在16页以上的为高级用户,该如何操作?采用表2-27中的两种方式,即可把PV数据处理为以用户进行分类的数据。

方式一 方式二 pv<-c(1,1,2,3,1,1,15,7,18,1,1,2,3,1,1) result<- "" m<-1 for(i in pv){ if(i<=5){ result[m]<- "初级用户"; } else if(i<=15){ result[m]<- "中级用户"; } else{ result[m]<- "高级用户"; } m<-m+1 } pv<-c(1,1,2,3,1,1,15,7,18,1,1,2,3,1,1) result<-"" for(i in 1:length(pv)){ if(pv[i]<=5){ result[i]<- "初级用户"; } else if(pv[i]<=15){ result[i]<- "中级用户"; } else{ result[i]<- "高级用户"; } }

不知道循环次数时,可以直接遍历相关向量(i inpv语句)。 知道循环次数时,可以设置遍历次数(iin 1:length(pv)语句)

2.while循环语句

在介绍while循环语句时,同样使用上面的数据为例进行说明,如下所示: pv<-c(1,1,2,3,1,1,15,7,18,1,1,2,3,1,1) i<-1 result<-"" while(i<length(pv)){ if(pv[i]<=5){ result[i]<- "初级用户"; } else if(pv[i]<=15){ result[i]<- "中级用户"; } else{ result[i]<- "高级用户"; } i<-i+1 }

由此可以看出,for实际上是通过遍历一个向量的方式来控制循环次数,while则是直接设置循环的范围。for的应用基本可以覆盖while,所以笔者更加倾向于使用for循环语句。

3.repeat-break循环语句

repeat是无限循环语句,并且会在达到循环条件后使用break语句直接跳出循环。例如: pv<-c(1,1,2,3,1,1,15,7,18,1,1,2,3,1,1) i<-1 result<-"" repeat{ if(i>length(pv)){ #设置循环结束时的跳出语句 break } if(pv[i]<=5){ result[i]<- "初级用户"; } else if(pv[i]<=15){ result[i]<- "中级用户"; } else{ result[i]<- "高级用户"; } i<-i+1 }

实例中的break也叫跳出循环命令,执行后将直接跳出循环语句。R语言还提供了一个next语句,执行后只会跳出本次循环,而不会跳出整个循环语句。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-09-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档