R语言中apply函数族的介绍 |
您所在的位置:网站首页 › r语言prod函数 › R语言中apply函数族的介绍 |
文章目录
综括==apply函数==利用apply函数实现利用循环实现
定义一个结果的数据框定义for循环利用R的特性三种方法消耗时间比较
==lapply函数====sapply函数==vapply函数==mapply函数====tapply函数==rapply函数eapply函数
综括
apply函数是最常用的代替for循环的函数。apply函数可以对矩阵、数据框、数组(二维、多维),按行或列进行循环计算,对子元素进行迭代,并把子元素以参数传递的形式给自定义的FUN函数中,并以返回计算结果。 函数定义: apply(X, MARGIN, FUN, ...)参数列表: X:数组、矩阵、数据框MARGIN: 按行计算或按按列计算,1表示按行,2表示按列FUN: 自定义的调用函数…: 更多参数,可选比如,对一个矩阵的每一行求和,下面就要用到apply做循环了。 > x apply(x,1,sum) [1] 15 18 21 24下面计算一个稍微复杂点的例子,按行循环,让数据框的x1列加1,并计算出x1,x2列的均值。 利用apply函数实现 #生成data.frame > x + row data.frame(x1=x[,1]+1,x2=rowMeans(x)) x1 x2 1 4 3.5 2 4 3.0 3 4 2.5 4 4 2.0 5 4 2.5 6 4 3.0 7 4 3.5 8 4 4.0那么,一行就可以完成整个计算过程了。 三种方法消耗时间比较接下来,我们需要再比较一下3种操作上面性能上的消耗。 # 清空环境变量 > rm(list=ls()) # 封装fun1 > fun1 + c(sum(x[c1],1), mean(x[c2])) + } + apply(x,1,myFUN,c1='x1',c2=c('x1','x2')) + } # 封装fun2 > fun2 + row |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |