美文网首页
R 函数学习 - aggregate()

R 函数学习 - aggregate()

作者: Thinkando | 来源:发表于2020-05-18 21:15 被阅读0次
  • aggregate()首先将数据进行分组(按行),然后对每一组数据进行函数统计,最后把结果组合成一个比较nice的表格返回。根据数据对象不同它有三种用法,分别应用于数据框(data.frame)、公式(formula)和时间序列(ts):
aggregate(x, by, FUN, …, simplify = TRUE)
aggregate(formula, data, FUN, …, subset, na.action = na.omit)
aggregate(x, nfrequency = 1, FUN = sum, ndeltat = 1, ts.eps = getOption(“ts.eps”), …)
  • 分组求和
> x<-data.frame(id=1:6,
+               name=c("A","B","C","A","C","B"),
+               Chinese=c(89,85,68,79,96,53),
+               English=c(77,68,86,87,92,63))
> x
  id name Chinese English
1  1    A      89      77
2  2    B      85      68
3  3    C      68      86
4  4    A      79      87
5  5    C      96      92
6  6    B      53      63

> aggregate(x[,3:4],list(x$name),mean)
  Group.1 Chinese English
1       A      84    82.0
2       B      69    65.5
3       C      82    89.0
  • 多列
> aggregate(mtcars, by=list(cyl), FUN=mean)
  Group.1      mpg cyl     disp        hp     drat       wt     qsec        vs        am     gear     carb
1       4 26.66364   4 105.1364  82.63636 4.070909 2.285727 19.13727 0.9090909 0.7272727 4.090909 1.545455
2       6 19.74286   6 183.3143 122.28571 3.585714 3.117143 17.97714 0.5714286 0.4285714 3.857143 3.428571
3       8 15.10000   8 353.1000 209.21429 3.229286 3.999214 16.77214 0.0000000 0.1428571 3.285714 3.500000
> aggregate(mtcars, by=list(cyl, gear), FUN=mean)
  Group.1 Group.2    mpg cyl     disp       hp     drat       wt    qsec  vs   am gear     carb
1       4       3 21.500   4 120.1000  97.0000 3.700000 2.465000 20.0100 1.0 0.00    3 1.000000
2       6       3 19.750   6 241.5000 107.5000 2.920000 3.337500 19.8300 1.0 0.00    3 1.000000
3       8       3 15.050   8 357.6167 194.1667 3.120833 4.104083 17.1425 0.0 0.00    3 3.083333
4       4       4 26.925   4 102.6250  76.0000 4.110000 2.378125 19.6125 1.0 0.75    4 1.500000
5       6       4 19.750   6 163.8000 116.5000 3.910000 3.093750 17.6700 0.5 0.50    4 4.000000
6       4       5 28.200   4 107.7000 102.0000 4.100000 1.826500 16.8000 0.5 1.00    5 2.000000
7       6       5 19.700   6 145.0000 175.0000 3.620000 2.770000 15.5000 0.0 1.00    5 6.000000
8       8       5 15.400   8 326.0000 299.5000 3.880000 3.370000 14.5500 0.0 1.00    5 6.000000

相关文章

网友评论

      本文标题:R 函数学习 - aggregate()

      本文链接:https://www.haomeiwen.com/subject/yfapohtx.html