plyr package
来源:互联网 发布:ubuntu实用软件 编辑:程序博客网 时间:2024/06/14 18:25
plyr包
data(tips,package=”reshape2”)#加载数据集
library(plyr)
head(tips)
基础函数汇总:
aggregate(x=tips
plyr包函数
ddply(.data=tips,#拆分计算的对象 .variables="sex", #拆分的依据 .fun=function(x){ #计算的函数 mean(tips$tip) })
ddply()函数,参一是分组的对象,参二是分组的依据,参数三是对分组计算的函数
函数命名规则
a:array d:data.frame l:list
plyr包的主要函数:**ply 首字母代表输入,第二个字母代表输出
如:adply()函数 输入数组,输出数据框
例:
data <- as.matrix(iris[,-5])result2 <- adply(.data=data, .margins=2, .fun=function(x){ each(max,min,median,sd)(x) })
each()函数是在plyr包中,主要作用是合并多个函数成一个函数,返回一个向量
练习:
用iris数据,对每一种花做一个简单回归。
#定义回归函数
model <- function(x){
lm(Sepal.Length~Sepal.Width,data=x)
}
#对每一组花进行回归
models <- dlply(.data=iris,
.variables=”Species”,
.fun=model)
#计算每个模型的系数
result3 <- ldply(.data=models,
.fun=coef)
result3 Species (Intercept) Sepal.Width1 setosa 2.639001 0.69048972 versicolor 3.539735 0.86507773 virginica 3.906836 0.9015345
用普通函数对每一种花做简单回归,则需要做分割,计算,整合三个步骤
pieces <- split(iris,list(iris$Species))#因为lapply函数族的第一个参数是列表或向量models <- lapply(pieces,model)result <- lapply(models,coef)do.call("rbind",result)#整合回归结果结果: (Intercept) Sepal.Widthsetosa 2.639001 0.6904897versicolor 3.539735 0.8650777virginica 3.906836 0.9015345
plyr包其他辅助函数:
上面提到的each函数
x <- rnorm(10)
each(max,min,mean,sd)(x)
colwise()函数对数据框的每一列进行计算,返回一个数据框
colwise(mean,is.numeric)(iris)#计算数值型的列
0 0
- plyr package
- ERROR: dependency ‘plyr’ is not available for package ‘scales’
- Error in library.dynam(lib, package, package.lib) : shared object ‘plyr.so’ not found
- R包的安装错误ERROR: dependency ‘plyr’ is not available for package ‘reshape2’
- R包的安装错误ERROR: dependency ‘plyr’ is not available for package ‘reshape2’
- ggplot: ddply(plyr)
- RNote__dplyr and plyr
- plyr包使用abc
- R语言plyr包学**
- package
- package
- package
- package
- R语言 plyr包 m_ply mdply
- R语言的plyr包简介
- R语言的plyr包简介
- R语言-数据整形之plyr包 R语言中plyr包
- 用plyr包扩展apply族函数的功能
- Powerdesigner中文和英文自动映射
- Hibernate中映射枚举类型
- UESTC 65 CD Making 贪心法
- bzoj1007 [HNOI2008]水平可见直线
- Spark 提交任务时,报: Invalid signature file digest for Manifest main attributes
- plyr package
- Java算法---马戏团和整理图书编程题
- HTML和CSS学习笔记(一)
- java设计模式----工厂设计模式
- C++拷贝构造函数详解 http://blog.csdn.net/lwbeyond/article/details/6202256
- visio绘制流程图-去掉默认的左侧栏(小例)
- 如何发布异步请求总结
- 第3章 主机规划和磁盘分区
- apply函数族