在做数据分段截取的时候,发现for循环的表现和其他语言不太一样。

上代码:

for( i in 1:4) {i = i + 1print(i)
}
结果:
[1] 2
[1] 3
[1] 4
[1] 5

即作为循环计次的i, 并不会因为在循环体中的赋值变化而变化。

在Python中查看也是一样的结果.

怀疑是动态语言在生成for循环的时候, 会提前生成循环列表的下标列表, 避免在循环中对下标做操作后,导致循环结果不稳定.

同时还避免了每次循环会重新计算长度表达式的问题.

如 for x in len(str), 在Java中,每一次循环都会执行一次len(str), 存在很大的性能开销.

所以Java等静态语言中,习惯的写法都是: length = len(str); for x in length {}

而在Python或R中则不会存在这种问题, 不管str如何变更,len(str)都只会执行一次. for x in len(str)的写法并不会出现性能问题.

先记录一下,以后看Advanced R的时候再看看有没有相关解释

转载于:https://www.cnblogs.com/oDoraemon/p/9391971.html

[R] R语言for循环机制相关推荐

  1. R语言while循环计算圆周率

    R语言while循环计算圆周率 原理说明 计算圆周率的方法很多,在这里我们使用概率的方法来计算圆周率(蒙特卡洛法). 假设有一个正方形,以其一个顶点为圆心,正方形的边长为半径,画1/4圆.则可以在正方 ...

  2. R语言使用循环语句一次性画出多幅图

    R语言使用循环语句一次性画出多幅图 首先加载包,patchwork用来一个界面展示多幅图 具体的可以看这篇文章 library(ggplot2) library(patchwork) 以数据iris为 ...

  3. r语言for循环的c(),R语言简单for循环(二)

    创建一个简单数据框 Sys.setlocale('LC_ALL','C') ## [1] "C" library(tidyverse) ## -- Attaching packag ...

  4. R循环有两个_R语言for循环

    R语言for循环 for循环 本教程将针对初学者,探讨如何在R语言中编写基本的for循环和嵌套式for循环. 简单for循环 R 中for循环的基本语法是: for(i R简单for循环示例: # f ...

  5. r语言for循环的c(),R语言中for循环的并行处理方式

    前言 本文用于记录笔者在将R语言中的for语句并行化处理中的一些问题. 实验 这里使用foreach和doParallel包提供的函数实现for语句的并行处理. for语句脚本 func return ...

  6. R语言FOR循环打印9*9乘法表

    R语言FOR循环打印9*9乘法表 算法原理 使用for循环打印99乘法表时,需要两重循环,第一重循环乘数,第二重循环表示被乘数,打印当乘数大于等于被乘数时的结果,并在每次第二重循环结束时换行. 代码和 ...

  7. R语言for循环语句编程:for循环遍历向量内容并修改向量内容

    R语言for循环语句编程:for循环遍历向量内容并修改向量内容 目录 R语言for循环语句编程:for循环遍历向量内容并修改向量内容

  8. R语言for循环绘图

    R语言for循环绘多张图 data("diamonds") m <- split(diamonds, diamonds$color) length(m) for (i in ...

  9. R语言 for循环和while循环

    R 语言中循环结构包括for和while结构. 1.for结构 for循环重复地执行一个语句,直到某个变量的值不再包含在序列seq中为止. 语法为:for (var in seq) statement ...

最新文章

  1. 山东大学教授建议:让博士生先回学校
  2. 题目1197:奇偶校验
  3. abap 给用户分配事物代码权限_【第五篇】SAP ABAP7.50 之用户接口
  4. 2264: sequence(KMP)
  5. 【BootStrap】初步教程
  6. 球球大作战体验服找不到团战服务器6,球球大作战常见问题汇总 新版本问题解决方法...
  7. Java异常处理教程(包含示例和最佳实践)
  8. Linux在线升级ruby
  9. 计算机在经济管理中的应用,现代经济管理中计算机技术的运用
  10. linux chmod、chown命令不起作用
  11. HCIP-RS H12-221-题库包含答案 1-50题(不定期更新剩余题目)
  12. tomcat:日志配置详解(避免日志过多撑爆磁盘)
  13. haosou属于搜索引擎的_搜索引擎登录工具
  14. java之httpclient
  15. ​百度网盘批量转存分享增量更新软件工具助手
  16. 怎么调整gif表情包的比例?
  17. 【论文解读 AAAI 2020 | Bi-GCN】Rumor Detection on Social Media with Bi-Directional GCN
  18. 蜂蜜什么时候喝,才可以获得蜂蜜更大的好处?真可以治疗咳嗽?
  19. R数据分析实战——奥运会120年历史
  20. 前端入门笔记01 —— html

热门文章

  1. 带AI的俄罗斯方块源码
  2. Hypervisor介绍(二)
  3. HTML、CSS、JS(JAVA Sprict)
  4. 凸优化——凸优化问题与算法
  5. 夏敏捷第28本著作《Flash ActionScript3.0动画基础与游戏设计》(Flash CC版)
  6. Excel的公式:公式基本使用、单元格地址引用、错误值利用、追踪公式利用与追踪错误
  7. 利用新浪API实现数据的抓取\微博数据爬取\微博爬虫
  8. Java尚硅谷核心知识
  9. 全然用linux工作,放弃windows
  10. 大学生云计算期末考试题