在R语言中,apply系列函数用于向量、矩阵、数据框应用指定函数,并返回函数应用结果值,这些函数会一次性地对整体数据施加函数运算,采用的是向量计算方式,所以执行速度非常快
一、Apply()函数
apply函数按照矩阵的行或列方向应用指定函数
使用apply函数进行按行求和
初始矩阵
> d<-matrix(1:9,ncol=3)
> d
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
我们可以使用apply函数对矩阵的每行应用到sum函数即可
> apply(d,1,sum)#这边设置MARGIN为1,即行模式
[1] 12 15 18
如果我们想进行按列求和,将MARGIN设置为2即可
> apply(d,2,sum)
[1] 6 15 24
当然,R语言直接提供了一些函数帮助我们直接对行和列求和,或者求平均值
例如
> colSums(d)
[1] 6 15 24
> rowMeans(d)
[1] 4 5 6
二、Lapply()函数
Lapply()可以以列表的形式返回应用函数的结果
但从使用角度来看,向量与数据框比列表更直观,所以必须要转换lapply()的结果,我们可以用下面两个函数进行转换