【R语言】R语言中的循环
编程中减少代码重复的两个工具,一是循环,一是函数。
循环,用来处理对多个同类输入做相同事情(即迭代),如对不同列做相同操作、对不同数据集做相同操作。
R语言有三种方式实现循环:
(1)for循环、while循环
(2)apply函数族
(3)泛型函数map
一. for循环、while循环
首先作两点说明:
(1)关于“for循环运行速度慢”的说法,实际上已经过时了,现在的R、Matlab等软件经过多年的内部优化已经不慢了,之所以表现出来慢,是因为你没有注意两个关键点:
- 提前为保存循环结果分配存储空间;
- 为循环体中涉及到的数据选择合适的数据结构。
(2)apply函数族和泛型函数map能够更加高效简洁地实现一般的for循环、while循环,但这不代表for循环、while循环就没用了,它们可以在更高的层次使用(相对于在逐元素级别使用)
1. 基本for循环
例如,有如下的tibble数据:
library(tidyverse)
df <- tibble(
a = rnorm(10),
b = rnorm(10),
c = rnorm(10),
d = rnorm(10)
)
相关文章