最近在用R处理百万级的数据,程序本身是线性扫描,可是随着数据量的增加,运行时间却不是线性增加,一度几天都运行不完。
怀疑是其中rbind函数造成的,查询到这篇文章,也说了这个问题
http://blog.sina.com.cn/s/blog_403aa80a0101hqhf.html
“
在多次修改算法后,我开始怀疑rbind函数的效率了。
脚本的主要意思比较两种方法的运行时间:
方法1:直接生成data.frame,然后再用rbind拼接data.frame
方法2:先生成向量,再在循环最后使用data.frame生成数据框
结果显示,当数据量增大时,rbind会耗费大量时间,而data.frame可以节约大量时间。”