R 作为一种向量化的编程语言,一大特征便是以向量计算替代了循环计算,使效率大大提升.apply函数族正是为解决数据循环处理问题而生的 -- 面向不同数据类型,生成不同返回值的包含8个相关函数的函数族. 为何要用apply? 在使用 R 时,要尽量用 array 的方式思考,避免 for 循环,写过多的 for 循环代码,最后把 R 代码写的跟 C 似得说明你没有进入 R 的思考方式,是一种费力不讨好的行为.那么不用循环怎么实现迭代呢?apply函数族是一把利器,它不是一个函数,而是一族功能类似的…
之前,我们讨论过可以使用 for 循环,在一个向量或列表上进行迭代,重复执行某个表达式.但是在实践中,for 循环往往是最后的选择,因为每次迭代都是相互独立的,所以我们可以使用更简洁更方便的读写方式来实现同样的效果.举个例子,以下代码使用 for 循环创建了一个列表,它由 3 个相互独立.服从正态分布的随机向量构成,其长度由向量 len 确定:len <- c(3, 4, 5)# 首先,在环境中创建一个列表x <- list()# 然后,使用 for 循环根据各自的长度生成相应的随机向量for…