如何利用aggregate对数据进行分组处理
这篇文章主要介绍了如何利用aggregate对数据进行分组处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
利用aggregate对数据进行分组处理,包括分组求和,分组取均值,最大值,中位数等等
aggregate这个函数的功能比较强大,它首先将数据进行分组(按行),然后对每一组数据进行函数统计,根据数据对象不同它有三种用法,分别应用于数据框(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"),...)
其中针对数据的分组处理,例如有数据如下:
>datIDsample1sample2sample3type1A12212A24923A43134C55815C69726C31337D910918D111812
按照type对数据进行分组求和,均值或者median等等,以sum为例:
>temp=aggregate(dat[,2:4],by=list(dat$type),FUN=sum)>tempGroup.1sample1sample2sample3111517192219311733744>
参数的第一个必须为数值型,所以去掉了第一列,对type不做操作,也去除,得到的数据Group.1即type类型
如果同时针对两种分组ID 和type进行,可以获得如下结果:
>temp=aggregate(dat[,2:4],by=list(dat$ID,dat$type),FUN=sum)>tempGroup.1Group.2sample1sample2sample31A11222C15583D191094A22495C26976D2111817A34318C3313
mean、median、max等操作相同
感谢你能够认真阅读完这篇文章,希望小编分享的“如何利用aggregate对数据进行分组处理”这篇文章对大家有帮助,同时也希望大家多多支持恰卡编程网,关注恰卡编程网行业资讯频道,更多相关知识等着你来学习!