等待下一个秋

  • Spark
  • Flink
  • Hive
  • 数据仓库
  • 资料文档
  • Java
    • Spring
    • Mybatis
    • SpringBoot
    • 面试题
  • Python
    • Python基础
    • 爬虫
    • Numpy
    • matplotlib
    • Flask
  • 知识星球
  • 副业挣钱
  • 技术杂谈
    • Linux知识
    • Docker
    • Git教程
    • Redis教程
    • mysql
    • 前端
    • R语言
    • 机器学习
  • 其它
    • 关于我
    • 资料下载
    • 收徒弟
专注于Hadoop/Spark/Flink/Hive/数据仓库等
关注公众号:大数据技术派,获取更多学习资料。
  1. 首页
  2. 技术杂谈
  3. R语言
  4. 正文

R语言流程控制

2019年4月3日 8784点热度 0人点赞 0条评论

都知道R语言是向量式编程,可是有时候确实需要用到循环语句,这里就介绍R语言里面的主要循环——for循环。
与其它语言的for循环一样,R的for循环可以嵌套for循环或者其它循环。
单循环

> a <- c(1:100)
> for(i in 1:length(a)){s <- s + a[i]}
> print(s)
[1] 5150

写一个循环嵌套

s <- 0
for(i in 1:100)
{
    for(j in 1:100)
    s <- s+j
}
print(s)
[1] 505000

当然了,R语言这种循环是非常浪费时间的,我们来做一个实验:

Sys.time()
a <- c(1:1e7)
s <- 0
for(i in 1:length(a)){s <- s + a[i]}
Sys.time()
sum(as.numeric(a))
Sys.time()
[1] "2017-05-24 23:30:41 CST"
[1] "2017-05-24 23:30:48 CST"
[1] "2017-05-24 23:30:48 CST"

可以看出,用for循环的方式计算这个向量和用了足足7秒,而用调用sun()这个内置函数几乎是在瞬间完成,只用了0秒。

R语言的for循环是在有需要的时候才用的,用法与其它语言比如C语言一样,它是非常浪费时间的,如果能用自带函数解决就不要用循环。
当然了,与其它语言一样,R语言的循环还有while、switch等,用法与其它语言类似,这里就不再赘述了。

标签: R语言
最后更新:2019年4月3日

等待下一个秋

待我代码写成,便娶你为妻!专注于Hadoop/Spark/Flink/Hive/数据仓库等,关注公众号:大数据技术派,获取更多学习资料。

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

等待下一个秋

待我代码写成,便娶你为妻!专注于Hadoop/Spark/Flink/Hive/数据仓库等,关注公众号:大数据技术派,获取更多学习资料。

搜一搜
微信
最新 热点 随机
最新 热点 随机
logstash同步mysql数据到elasticsearch Spring IOC 容器源码分析 elasticsearch修改字段类型 curl操作elasticsearch常用命令 Python通过orm操作mysql数据库 Python进程管理——Supervisor
Spring IOC 容器源码分析logstash同步mysql数据到elasticsearch
生男生女概率一样吗?为什么中国男性多于女性? Hadoop3 纠删码 Spark SQL知识点大全与实战 Hive知识点 接下来的规划 介绍一单小生意——以及我的思考
标签聚合
mysql 挣钱 Redis Python Java R语言 数据仓库 Flink Hive 书籍 算法 大数据
文章归档
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年1月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年1月
  • 2018年12月
  • 2017年5月

©2022 ikeguang.com. 保留所有权利。

鄂ICP备2020019097号-1

鄂公网安备 42032202000160号