在R语言中,灵活应用apply函数族,能极大地提高循环效率,能有效减少循环语句代码量。将会介绍的apply函数族包括apply、lapply、sapply、tapply、mapply,常用的搭配函数或者替代函数split、rowSums、colSums、rowMeans、colMeans。
今天介绍最常用的apply函数,以及基于apply的求行列和、行列均值的函数。
apply函数,用于有维度的数据对象,对若干维度应用某个函数。
X参数指定要做函数运算的有维度的数据对象。所谓有维度的数据对象,指的是像矩阵、数据框、数组这种二维或者多维的数据,简单点判定就是能通过dim()函数获取维度信息的数据。
MARGIN参数指定要按哪个维度来拆分数据然后做函数运算,取值为2即按第二个维度拆分数据,对矩阵或者数据框而言就是按列拆分,即对每一列应用函数。
FUN参数指定函数,函数可以是已经存在的(R自带的或者用户自己构建的)函数名称,也可以是匿名函数(即采用function()函数临时构建的函数)。
紧跟FUN参数指定函数之后,可以跟上该函数的其他参数,比如例子中可以跟上na.rm = T。
simplify参数默认取值为T,此时apply()函数返回结果为向量;反之,当取值为F,返回结果