在R中,summary()是一个基础包中的重要统计描述函数,同样的在dplyr中summarise()函数也可以对数据进行统计描述。

不同的是summarise()更加的灵活多变,下面来看下summarise这个函数

summarise(.data, ...)

其灵活性和其他dplyr函数一样,主要在于条件的使用上

下面看些具体的例子

library(dplyr)
x<-data.frame(id=1:6,
name=c("wang","zhang","li","chen","zhao","song"),
shuxue=c(89,85,68,79,96,53),
yuwen=c(77,68,86,87,92,63))
x

summarise(x,sum(shuxue))

可以很好的配合聚合函数一起使用

summarise(group_by(x,name),sum(shuxue))

这里由于每个name对应的shuxue只有一个参数,所以sum的结果没变化。

summarise(group_by(x,name),sum(shuxue,yuwen))

可以看出shuxue和yuwen求和后的数据。

arrange(summarise(group_by(x,name),qiuhe=sum(shuxue,yuwen)),desc(qiuhe))

配合上前面的函数,就可以对求和后的数据进行排序,当然上面数据的可读性较低。

把他分为两个步骤,理解起来可能会相对比较容易。

y<-summarise(group_by(x,name),qiuhe=sum(shuxue,yuwen)) 求和过程

arrange(y,desc(qiuhe)) 排序过程

summarise(x,mean(shuxue),sd(shuxue))

求均值和方差

summarise(group_by(x,name),a=n(),b=a+2)

配合你n()可以对每个因子的出现次数进行统计。

summarise_all(group_by(x,name),mean)

对所有列按照name分组后求平均值

summarise_if(x,is.numeric,mean)

对所有是数值的列求平均值

summarise_at(x,c(3,4),mean)

对特定的列求平均值

类似结果的表达方式有:

summarise_at(x,vars(shuxue,yuwen),mean)
summarise_at(x,c("shuxue","yuwen"),mean)

summarise_all(select(x,c(1,3,4)),funs(min,max,mean,sum,sd))

使用funs,对数据进行多重聚合统计。

summarise_each(x[c(1,3,4)],funs(mean,sum))

summarise_each也可以达到类似的效果。

dplyr 数据操作 统计描述(summarise)的更多相关文章

  1. SQL大数据操作统计

    SQL大数据操作统计 1:select count(*) from table的区别SELECT object_name(id) as TableName,indid,rows,rowcnt FROM ...

  2. dplyr 数据操作 常用函数(5)

    继续来了解dplyr中的其他有用函数 1.sample() 目的是可以从一个数据框中,随机抽取一些行,然后组成新的数据框. sample_n(tbl, size, replace = FALSE, w ...

  3. dplyr 数据操作 常用函数(3)

    接下了我们继续了解dplyr中有用的函数 1.if_else() if_else主要用于在数据做判断用 x<-data.frame(id=1:6, name=c("wang" ...

  4. dplyr 数据操作 常用函数(1)

    上面介绍完dplyr中,几个主要的操作函数后,我们再进一步了解dplyr中那些函数可能我们会经常要用到. 这里主要根据dplyr包作者的书籍目录来把它列出来. 1.add_rownames 添加行名称 ...

  5. dplyr 数据操作 列操作(select / mutate)

    在R中,我们通常需要对数据列进行各种各样的操作,比如选取某一列.重命名某一列等. dplyr中的select函数子在数据列的操作上也同样表现了它的简洁性,而且各种操作眼花缭乱. select(.dat ...

  6. dplyr 数据操作 数据过滤 (filter)

    在R的使用过程中我们几乎都绕不开Hadley Wickham 开发的几个包,前面说过的ggplot2.reshape2以及即将要讲的dplyr 因为这几个包可以非常轻易的使我们从复杂的数据操作中逃离, ...

  7. dplyr 数据操作 常用函数(4)

    接下来我们继续了解一些dplyr中的常用函数. 1.ranking 以下各个函数可以实现对数据进行不同的排序 row_number(x) ntile(x, n) min_rank(x) dense_r ...

  8. dplyr 数据操作 常用函数(2)

    继上一节常用函数,继续了解其他函数 1.desc() 这个函数和SQL中的排序用法是一样的,表示对数据进行倒序排序. 接下来我们看些例子. a=sample(20,50,rep=T)a desc(a) ...

  9. dplyr 数据操作 数据排序 (arrange)

    在R中,我们在整理数据时,经常需要对数据排序,以便数据增强数据的可读性. 下面我们来看下dplyr中的,arrange函数 arrange(.data, ...) 跟filter()类似,arrang ...

随机推荐

  1. Gpt转mbr

    1)Shift + F10 2)diskpart 3)list disk 4)select dist 0 5)clean 6)convert mbr [注]mbr常用于windows操作系统,而gpt ...

  2. JavaScript - 平稳退化

    JavaScript使用window对象的open()方法来创建新的浏览器窗口.这个方法有三个参数:window.open(url,name,features)这三个参数都是可选的.1.第一个参数是想 ...

  3. HDU 1272 小希的迷宫(乱搞||并查集)

    小希的迷宫 Problem Description 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有 ...

  4. Ubuntu 14.04—Anaconda 相关

    Anaconda 使用国内镜像: https://keyunluo.github.io/2016/07/17/2016-07-17-anaconda-python.html Anaconda下的 De ...

  5. Java 四舍五入并小数点后保存两位,千分位分隔

    import java.text.DecimalFormat; public class FileTest {    public static void main(String[] args) {  ...

  6. 2016-2017 CT S03E02: Codeforces Trainings Season 3 Episode 2

    A HHPaint B Square Root C Interesting Places D Road to Home E Ant and apples F Square G Pair H The F ...

  7. Unity3D消息:消息传递函数

  8. object model 概述

    Object Model 综述 标准 C++ 的对象模型为对象的动态特性提供了运行时的支持. 但是它静态的本性决定了在某些领域它表现出僵化.不可扩展的特点. GUI编程就是一个既需要运行时编译的效率, ...

  9. 关于CGI、FastCGI和PHP-FPM的关系

    1.CGI是干嘛的? CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者. web server(比如说nginx)只是内容的分发者.比如,如果请求/index.h ...

  10. @property、@synthesize和dynamic的用法

    原文:  http://blog.csdn.net/hherima/article/details/8622948 @代表“Objective-C”的标志,证明您正在使用Objective-C语言 O ...