既含睇兮又宜笑,子慕予兮善窈窕。
—— 《山鬼》
apply()函数算是R语言里面很基础的一个函数,同时还有sapply()、lapply()、tapply()函数精简了apply()的用法。
apply()函数是一个很R语言的函数,可以起到很好的替代冗余的for循环的作用,R语言的循环操作for和while,都是基于R语言本身来实现的,而向量操作是基于底层的C语言函数实现的,所以使用apply()家族进行向量计算是高性价比的。apply()可以面向数据框、列表、向量等,同时任何函数都可以传递给apply()函数。
先简单的介绍一下rbind()和cbind()函数
rbind()#以行的形式
cbind()#以列的形式
> x > View(x)> class(x)[1] "matrix"
> y > View(y)
apply()函数的用法如下:
#apply:对每个小片断独立进行操作
#apply(X, MARGIN, FUN, ...)
#X:数组、矩阵、数据框;
#MARGIN: 按行计算或按按列计算,1表示按行,2表示按列
-MARGIN=1`: 操作基于行
-MARGIN=2`: 操作基于列
-MARGIN=c(1,2)`: 对行和列都进行操作
#FUN: 使用哪种操作,内置的函数有mean(平均值)、medium(中位数)、sum(求和)、min(最小值)、max(最大值),当然还包括广大的用户自定义函数
#按行循环,让数据框的x1列加1,并计算出x1,x2列的均值
示例一