- plyr包简介
plyr包是Hadley Wickham为解决split – apply – combine问题而写的一个包,其动机在与提供超越for循环和内置的apply函数族的一个一揽子解决方案。使用plyr包可以针对不同的数据类型,在一个函数内同时完成split – apply – combine三个步骤,以实现最大限度的高效和简洁。
plyr包特别适合处理大型数据集问题,比如对空间数据的空间位置或时间序列面板数据的时间点建模,或者在高维数组中进行数据探索等等。
此包作者Hadley Wickham可以说是R社区的一位大神级的人物。他先后写出了17个R包,包括目前统计图形方面的大热门ggplot2。作者自述其研究兴趣在于发展使数据分析变简单的工具特别是超越传统统计的数据清理,组织和探索方法。
为说明plyr包的特点和优势所在,下面看两个例子:
(1)对于简单的问题,plyr和apply函数的效果差不多
> m<-matrix(c(1:4,1,4,1:6),ncol=3)
> apply(m,1,mean)
[1] 1.666667 3.333333 3.000000 4.000000
> aaply(m,1,mean)
1.666667 3.333333 3.000000 4.000000
(2)下面来个复杂点的
取鸢尾花iris数据集,对每一种花,建立一个线性回归模型,并给出结果。
> attach(iris)
> head(iris)
1 5