经管之家App
让优质教育人人可得
立即打开
全部版块
我的主页
›
论坛
›
数据科学与人工智能
›
数据分析与数据科学
›
R语言论坛
R语言for循环
楼主
藉風說雨
2915
1
收藏
2015-12-03
用r语言也有点时间了,一直大家都在说要少显式使用for循环,原因很简单:执行速度慢,但是为什么会执行速度慢一直都不知道,有人知道底层的一些原因吗?
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
全部回复
沙发
suimong
2015-12-4 02:33:30
所谓的用for循环慢是指和用已经vectorized的内置函数(或其他用c或cpp写的函数)相比。base R里的大部分函数以及有些包里的函数(比如dplyr,data.table等)是C或C++写的,并且已经vectorized了,也就是说你可以直接扔给这个函数一个vector,这个函数会作用于vector内的每个元素,而不需要你去写for循环显式地将函数应用在每个vector元素上。虽然最终在这些c/c++代码内vectorize的方式也是for循环,但是c++的for循环和R的for循环,效率孰高孰低一目了然了吧。如果能够使用vectorized的函数的话,那绝对是应该避免用for循环的。
另一方面,避免for循环还可以指运用apply系列函数。apply系列函数只是帮你把for循环给隐藏起来了,实质性能上和for循环是一样的。用apply函数其实只是“更加R”的一种for循环写法。当然这种写法的好处是能帮你培养vectorize的思维,不过当发生用apply写起来很费劲的时候就还是老老实实用for好了,性能上没有损失的。
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
相关推荐
R语言的一个简单FOR循环
R语言for循环可以循环矩阵名吗?
r语言for循环的使用
R语言for循环
R语言For循环求助
R语言for循环的问题
R语言for循环
R语言for循环
R语言中for循环的使用
R语言for循环
栏目导航
R语言论坛
求助成功区
经管在职博
马克思主义经济学
经管文库(原现金交易版)
宏观经济学
热门文章
2026“课题申报”抢跑号角的已吹响!国社科 ...
CDA 认证考试大纲 2025 重磅更新:一二级考 ...
国家级都市圈谁在领跑:2025华高莱斯产城瞭 ...
中国移动:智能体互联网技术白皮书2025
您提出了一个足以获得诺贝尔奖的核心概念— ...
2012-2024年上市公司工业机器人渗透率数据集 ...
现制饮品新品策略研究报告2025
JOBS海归:2025海外归国留学生秋季就业发展 ...
达富发投资关于国统股份行情数据操作分析与 ...
达富发投资关于鑫铂股份行情数据操作分析与 ...
推荐文章
10月重磅来袭|《打造Coze/Dify专属学术智能 ...
高校老师和学生都在偷偷上的智能体课,到底 ...
最快1年拿证,学费不足5W!热门美国人工智能 ...
关于如何利用文献的若干建议
关于学术研究和论文发表的一些建议
关于科研中如何学习基础知识的一些建议 (一 ...
一个自编的经济学建模小案例 --写给授课本科 ...
AI智能体赋能教学改革: 全国AI教育教学应用 ...
2025中国AIoT产业全景图谱报告-406页
关于文献求助的一些建议
说点什么
分享
微信
QQ空间
QQ
微博
扫码加好友,拉您进群
各岗位、行业、专业交流群