R语言aggregate函数

以下演示aggregate函数的用法示例 aggregate(x,by, FUN) x是待折叠的数据对象
by是变量名组成的list,FUN是函数

options(digits=3)##小数点位数
attach(mtcars)
#查看数据结构
class(mtcars)
## [1] "data.frame"
dim(mtcars)
## [1] 32 11
head(mtcars)
##                    mpg cyl disp  hp drat   wt qsec vs am gear carb
## Mazda RX4         21.0   6  160 110 3.90 2.62 16.5  0  1    4    4
## Mazda RX4 Wag     21.0   6  160 110 3.90 2.88 17.0  0  1    4    4
## Datsun 710        22.8   4  108  93 3.85 2.32 18.6  1  1    4    1
## Hornet 4 Drive    21.4   6  258 110 3.08 3.21 19.4  1  0    3    1
## Hornet Sportabout 18.7   8  360 175 3.15 3.44 17.0  0  0    3    2
## Valiant           18.1   6  225 105 2.76 3.46 20.2  1  0    3    1
table(mtcars$cyl)
## 
##  4  6  8 
## 11  7 14
table(mtcars$gear)
## 
##  3  4  5 
## 15 12  5

aggregate函数对数据集中的cyl与gear两个条件求出各组的平均值,非常强大的功能

aggdata<-aggregate(mtcars,by=list(cyl,gear),FUN=mean,na.rm=TRUE)
dim(aggdata)
## [1]  8 13
aggdata
##   Group.1 Group.2  mpg cyl disp  hp drat   wt qsec  vs   am gear carb
## 1       4       3 21.5   4  120  97 3.70 2.46 20.0 1.0 0.00    3 1.00
## 2       6       3 19.8   6  242 108 2.92 3.34 19.8 1.0 0.00    3 1.00
## 3       8       3 15.1   8  358 194 3.12 4.10 17.1 0.0 0.00    3 3.08
## 4       4       4 26.9   4  103  76 4.11 2.38 19.6 1.0 0.75    4 1.50
## 5       6       4 19.8   6  164 116 3.91 3.09 17.7 0.5 0.50    4 4.00
## 6       4       5 28.2   4  108 102 4.10 1.83 16.8 0.5 1.00    5 2.00
## 7       6       5 19.7   6  145 175 3.62 2.77 15.5 0.0 1.00    5 6.00
## 8       8       5 15.4   8  326 300 3.88 3.37 14.6 0.0 1.00    5 6.00

例如可以解释第一行的数据为cyl为4和gear为3时,其它变量disp,hp等的平均值
这是非常可怕的功能,可以自由的折叠,提取数据子集

你可能感兴趣的:(R语言aggregate函数)