文档章节

R语言利器之ddply

mahengyang
 mahengyang
发布于 2013/09/18 20:27
字数 250
阅读 16061
收藏 10

ddply()函数位于plyr包,用于对data.frame进行分组统计,与tapply有些类似

准备数据

# 使用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      3
2 logout      1
3   show      2

统计每个api的各个httpCode的请求数:

a <- ddply(apache,.(api,httpCode),summarize,number=length(api))
     api httpCode number
1  index      200      2
2  index      500      1
3 logout      200      1
4   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.333
2 <NA>  index      500      1      0.167
3 <NA> logout      200      1      0.167
4 <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() +

在此输入图片描述

© 著作权归作者所有

共有 人打赏支持
mahengyang
粉丝 56
博文 46
码字总数 32090
作品 0
苏州
程序员
私信 提问
OSC 第 91 期高手问答 — R 语言的核心技术

OSCHINA 本期高手问答 ( 9月16日- 9月22日 ) 我们请来了《R的极客理想 高级开发篇》的作者@bsspirit (张丹)为大家解答关于 R 语言的核心技术的问题。 张丹,@bsspirit ,R语言资深用户,系...

叶秀兰
2015/09/16
5.4K
46
Rserve的R语言客户端RSclient

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已...

zh119893
2014/05/04
0
0
Rserve与Java的跨平台通信

R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大。 R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言...

zh119893
2014/04/20
0
2
Rsession让Java调用R更简单

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已...

zh119893
2014/05/04
0
4
开发自己的R包sayHello

R语言作为统计学一门语言,一直在小众领域闪耀着光芒。直到大数据的爆发,R语言变成了一门炙手可热的数据分析的利器。随着越来越多的工程背景的人的加入,R语言的社区在迅速扩大成长。现在已...

zh119893
2014/05/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MySQL查询执行

当我们希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理方式...

问题终结者
45分钟前
0
0
CDH5动静态资源池配置与回滚

关于动态 静态资源池的配置以前都有提过,可以从以下几篇了解: YARN动态资源池配置案例 https://yq.aliyun.com/ziliao/346856# Hadoop YARN配置参数剖析(4)—Fair Scheduler相关参数 Hadoop...

hblt-j
50分钟前
3
0
WordPress仿站实战教程

有一个月没有写blog了,一直在学习wordpress的知识,现在能够进行简单的政府企业门户网站的仿制,wordpress的主题订制,一般是对前端要求比较高,wordpress学会了,建站还是非常的快的。下面...

临江仙卜算子
53分钟前
3
0
图像库stb_image

https://github.com/nothings/stb 目前一般主流的图像格式也就是bmp,jpg,png,tga,dds,除了DDS一般是给DX用的,虽然一堆OpenGL程序也有用的,但是我一般只用png和tga, png不用说了,带a...

robslove
今天
1
0
Spring 事务提交回滚源码解析

前言 在上篇文章 Spring 事务初始化源码分析 中分析了 Spring 事务初始化的一个过程,当初始化完成后,Spring 是如何去获取事务,当目标方法异常后,又是如何进行回滚的,又或是目标方法执行...

TSMYK
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部