7.1apply函数族当simplify参数为“array"时,可以参考下面的例子,构建一个三维数组,其中二个维度为方阵。> a<-1:2#simplify参数为TRUE时自动合并分组#simplify参数为"array"时按数组分组> sapply(a,function(x)matrix(x,2,2))>sapply(a,function(x) matrix(x,2,2),simplify="array")[,1] [,2],1[1,] 1 2[2,]1 2[,1] [,2][3,]12[1,] 1 1[4,] 12[2,] 11,2[,1] [,2][1,]2 2[2,] 2 2
> a<-1:2 # simplify参数为“array”时按数组分组 > sapply(a,function(x) matrix(x,2,2),simplify= "array") , , 1 [,1] [,2] [1,] 1 1 [2,] 1 1 , , 2 [,1] [,2] [1,] 2 2 [2,] 2 2 当simplify参数为“array”时,可以参考下面的例子,构建一个三维数组,其中二个维度为方阵。 7.1 apply函数族 # simplify参数为TRUE时自动合并分组 > sapply(a,function(x) matrix(x,2,2)) [,1] [,2] [1,] 1 2 [2,] 1 2 [3,] 1 2 [4,] 1 2
7.1apply函数族4.vapply()函数(P145)vapply()函数类似于sapply()函数,区别在于参数中多了一个FUN.VALUE参数,用来控制返回值的行名。函数语法格式vapply(X,FUN,,FUN.VALUE,.,USE.NAMES=TRUE)(1)X:数组、矩阵、数据框。(2)FUN:自定义函数。(3)FUN.VALUE参数:为返回值的行命名。(4)vapply()函数的其它参数与sapply()函数相同
7.1 apply函数族 4. vapply( )函数 (P145) vapply( )函数类似于sapply( )函数,区别在于参数中多了一个FUN.VALUE参数,用来控制返 回值的行名。 函数语法格式: vapply(X, FUN, FUN.VALUE,., USE.NAMES = TRUE) (1)X:数组、矩阵、数据框。 (2)FUN:自定义函数。 (3)FUN.VALUE参数:为返回值的行命名。 (4)vapply( )函数的其它参数与sapply( )函数相同
7.1apply函数族【例7-4】通过vapply()函数对数据框的数据进行累计求和,并对每一行设置行名。>x<-data.frame(cbind(x1=5,x2=c(1:6)))#设置FUN.VALUE参数来为行命名,行名字分别为a,b,c,d,ef>vapply(x,cumsum,FUN.VALUE=c("a"=0,"b"=0,"c"=0,"d"=0,"e"=0,"f"=O))x1 x2a51b103c15 6d 20 10e 25 15f 30 21
> x <- data.frame(cbind(x1=5, x2=c(1:6))) # 设置FUN.VALUE参数来为行命名,行名字分别为a,b,c,d,e,f > vapply(x,cumsum,FUN.VALUE=c("a"=0,"b"=0,"c"=0,"d"=0,"e"=0,"f"=0)) x1 x2 a 5 1 b 10 3 c 15 6 d 20 10 e 25 15 f 30 21 【例7-4】通过vapply( )函数对数据框的数据进行累计求和,并对每一行设置行名。 7.1 apply函数族
7.1apply函数族5. mapply()函数(P147)mapply()函数也是类似于sapply()函数的,同样是参数定义有些变化,mapply()函数可以接收多个参数。函数语法格式:mapply(FUN,.., MoreArgs=NULL,SIMPLIFY=TRUE,USE.NAMES=TRUE)参数列表:①FUN:自定义函数。②.·接收多个数据。③MoreArgs:参数列表。④其它参数参考sapply()函数
7.1 apply函数族 5. mapply( )函数(P147) mapply( )函数也是类似于sapply( )函数的,同样是参数定义有些变化,mapply( )函数可以 接收多个参数。 函数语法格式: mapply(FUN, ., MoreArgs = NULL, SIMPLIFY = TRUE,USE.NAMES = TRUE) 参数列表: ① FUN:自定义函数。 ②.:接收多个数据。 ③MoreArgs:参数列表。 ④其它参数参考sapply( )函数