【R语言】R语言中的循环

2020-06-17 00:00:00 数据 函数 迭代 循环 向量

编程中减少代码重复的两个工具,一是循环,一是函数。

循环,用来处理对多个同类输入做相同事情(即迭代),如对不同列做相同操作、对不同数据集做相同操作。

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)
)

相关文章