【R笔记】R语言利器之ddply
2016-03-23 10:54
218 查看
ddply()函数位于plyr包,用于对data.frame进行分组统计,与tapply有些类似
准备数据
统计每个api的请求数
统计每个api的各个httpCode的请求数:
下面这个复杂些,根据上面的统计结果a,统计每个api所占比例
这就是说你可以根据需要写自己的统计函数
用ggplot画api占比图
来源: http://my.oschina.net/enyo/blog/162595?utm_source=tuicool&utm_medium=referral
来自为知笔记(Wiz)
准备数据
# 使用stringsAsFactors=F来防止data.frame把向量转为factor apache = data.frame(httpCode=c(200,200,200,404,404,500), time=c(100,111,210,10,10,500), api=c('index','index','logout','show','show','index'), stringsAsFactors=F)
统计每个api的请求数
ddply(apache,.(api),summarize,number=length(api)) api number 1 index 32 logout 13 show 2
统计每个api的各个httpCode的请求数:
a <- ddply(apache,.(api,httpCode),summarize,number=length(api)) api httpCode number 1 index 200 22 index 500 13 logout 200 14 show 404 2
下面这个复杂些,根据上面的统计结果a,统计每个api所占比例
b <- ddply(a, .(), .fun=function(x){ transform(x, percentage=with(x,ave(number,api,FUN=sum)/sum(number))) }) .id api httpCode number percentage 1 <NA> index 200 2 0.3332 <NA> index 500 1 0.1673 <NA> logout 200 1 0.1674 <NA> show 404 2 0.333
这就是说你可以根据需要写自己的统计函数
用ggplot画api占比图
ggplot(b,aes(x=reorder(api,percentage),y=percentage,fill=factor(httpCode))) + geom_bar() + scale_y_continuous(labels = percent_format()) + coord_flip() +
来源: http://my.oschina.net/enyo/blog/162595?utm_source=tuicool&utm_medium=referral
来自为知笔记(Wiz)
相关文章推荐
- linux系统垃圾清理
- bzoj 2229 [Zjoi2011]最小割(分治+最小割)
- 四元数和旋转矩阵
- makefile.in
- json日期格式转换
- log4j 如何配置不同的classeslog写入不同的文件中
- Tableview最后一行无法显示或者显示不全的问题
- 简明Python教程学习笔记_7_输入输出和文件操作
- [Mysql] find_in_set()使用注意
- [2016/03/23] 2016年蓝桥杯JAVA A组 参赛总结和感想
- 设计删除顺序表中【x,y】中的所有元素算法
- struts.xml中Action的method与路径的几种匹配模式。
- Android 如何判断 ViewStub 是否inflate
- iOS底层学习-KVC使用实践以及实现原理
- WebView加载html5页面
- 盒子模型
- iOS开发--泛型
- SpringMVC结合ajaxfileupload.js实现文件无刷新上传
- WiFI Display(WFD)
- Hadoop contrib介绍