dplyr count 函数

count 函数计算数据集中列唯一值的数量。利用count可以方便地以表格形式展示变量的数量。本文通过示例说明如何使用该函数。

加载库

我们可以单独加载dplyr包,我建议直接加载 tidyverse 包,因为我们还要使用其他特性。

library(tidyverse)

加载数据

我们加载 tidyverse中的mtcars数据集,利用glimpse函数看下数据概况。

data("mtcars")
glimpse(mtcars)# Rows: 32
# Columns: 11
# $ mpg  <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, ~
# $ cyl  <dbl> 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, ~
# $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, ~
# $ hp   <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, ~
# $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, ~
# $ wt   <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, ~
# $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, ~
# $ vs   <dbl> 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, ~
# $ am   <dbl> 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ~
# $ gear <dbl> 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, ~
# $ carb <dbl> 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, ~

基础count函数

我们用了两个参数,数据集mtcars以及要计算的列名:

count(mtcars, cyl)#   cyl  n
# 1   4 11
# 2   6  7
# 3   8 14# mtcars %>% count(cyl)

结果返回数据框包括变量名称及对应数量,举例cyl为4的记录有11条。

使用tidyversedplyr时,为了更加直观常应用管道符 %>%mtcars %>% count(cyl),返回结果一致。后面示例我们都使用管道符。

count 排序

mtcars %>% count(cyl, sort = TRUE)#   cyl  n
# 1   8 14
# 2   4 11
# 3   6  7# 多列计数排序
mtcars %>% count(cyl, gear , sort = TRUE)#   cyl am  n
# 1   8  0 12
# 2   4  1  8
# 3   6  0  4
# 4   4  0  3
# 5   6  1  3
# 6   8  1  2

增加计算列计数

我们也可以利用count函数增加计算列,当然也可以使用mutate函数。下面示例计算平均动力耗油率。

mtcars %>% count(mgp_by_hp=round(mpg/hp,2), sort=TRUE)# 展示部分结果
#    mgp_by_hp n
# 1       0.05 3
# 2       0.06 3
# 3       0.10 3
# 4       0.11 3
# 5       0.19 3
# 6       0.04 1
# 7       0.08 1
# 8       0.09 1
# 9       0.14 1
# 10      0.16 1

计算权重

前面示例都是计数,我们也可以通过参数wt指定计算权重,请看示例:

mtcars %>% count(cyl, wt=mpg)
#   cyl     n
# 1   4 293.3
# 2   6 138.2
# 3   8 211.4
mtcars %>% group_by(cyl) %>% summarise(sum(mpg)) %>% add_count()

我们也可以使用分组计算验证结果。

add_count增加计数列

前面示例返回数据框仅指定列及计数n,如果我们要包括所有列并增加指定列的计数,可以使用add_count函数:

mtcars %>% add_count(cyl, sort = TRUE)# 部分返回数据
#     mpg cyl  disp  hp drat    wt  qsec vs am gear carb  n
# 1  18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2 14
# 2  14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4 14
# 3  16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3 14
# 4  17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3 14
# 5  15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3 14
# 6  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4 14
# 7  10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4 14
# 8  14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4 14
# 9  15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2 14
# 10 15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2 14
# 11 13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4 14
# 12 19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2 14
# 13 15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4 14
# 14 15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8 14
# 15 22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1 11

我们看到cyl==8的记录有14条,最后增加n列值为14。

dplyr count 函数相关推荐

  1. pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值)、如果多于一列返回dataframe、size函数返回分组下的行数结果为Series(缺失值不敏感)

    pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值).如果多于一列返回dataframe.size函数返回分组下的行数结果为Series(不区分缺失值和 ...

  2. 中的count函数_关于计数的5个函数都不掌握,那就真的Out了!

    提起计数,大家肯定会想到Count函数,但如果要附加条件完成计数任务,那还用Count函数吗?答案是No,Why?请看下文. 一.Count函数:统计数字单元格的个数. 方法: 在目标单元格中输入公式 ...

  3. php sql count函数,SQL COUNT() 函数

    SQL COUNT() 函数 COUNT() 函数返回匹配指定条件的行数. SQL COUNT(column_name) 语法 COUNT(column_name) 函数返回指定列的值的数目(NULL ...

  4. mysql count 类型_MYSQL的COUNT函数

    数据库经常用于回答这个问题,"某个类型的数据在表中出现的频度?"例如,你可能想要知道你有多少宠物,或每位主人有多少宠物,或你可能想要对你的动物进行各种类型的普查. 计算你拥有动物的 ...

  5. mysql的count()函数如何选择索引,千万级表的count()查询优化实例

    文章目录 一.前言 1.网上的主要两种说法 2.不贴出mysql版本的测试都是耍流氓~ 3.mysql的count(*)和count(1) 二.测试索引长度和索引基数对count(*)查询的影响 1. ...

  6. SQL COUNT() 函数

    SQL COUNT() 函数 COUNT() 函数返回匹配指定条件的行数. SQL COUNT(column_name) 语法 COUNT(column_name) 函数返回指定列的值的数目(NULL ...

  7. MySQL COUNT函数优化及count(1)/count(*)/count(列名)的区别

    count函数优化 使用近似值: 在某些应用场景中,不需要完全精确的值,可以参考使用近似值来代替,比如可以使用explain来获取近似的值.其实在很多OLAP的应用中,需要计算某一个列值的基数,有一个 ...

  8. mysql中的count函数和sum函数如果条件不符合返回什么

    1.count函数返回:0 2.sum函数返回:空字符串

  9. python函数count_python中count函数知识点浅析

    python中,count函数的作用是进行python中的数量计算.count函数用于统计字符串.列表或元祖中某个字符出现的次数,是一个很好用的统计函数.具体介绍请看本文. 1.count函数 统计列 ...

最新文章

  1. 为什么《梦幻西游》能这么长寿(二):拆解其交易系统的高深之处
  2. 模拟 http connecttimeout_燃烧室数学模型模拟软件NPSS
  3. python22起作业答案_python第22天作业
  4. 使用流进行通讯的一种可能犯的错误 (InputStream + OutputStream)
  5. python 新建文件 hdfs_python基础操作以及hdfs操作
  6. 浅谈长连接的平滑重启
  7. 老手萌新学习composer的使用
  8. JAVA关键字及作用
  9. 2018年计算机数据结构试题答案,2018年数据结构期末考试题及答案.pdf
  10. PICKIT3 WIN10 无法连接问题解决
  11. C语言怎么算n维向量的加法,3D数学读书笔记——向量运算及在c++上的实现
  12. 解决h5兼容ios手机浏览器下载本地文件直接打开问题。
  13. WebView调用微信H5支付
  14. 智能车浅谈——控制规律篇
  15. JS生成唯一id方式介绍(UUID和NanoID)
  16. web期末大作业 使用HTML+CSS制作蓝色版爱宠之家带留言板(5页)
  17. KiTTY及cnKiTTY配置文件kitty.ini的简单中文注释
  18. 化学绘图软件是怎么快速调用帮助文档的
  19. 数学之美之分形——C++及OpenCV实现Julia集和Mandelbrot集绘制
  20. Linux驱动开发: 网络设备驱动开发

热门文章

  1. 使用Python的selenium,模拟12306登陆
  2. 使用EasyExcel进行文件的读取与写出(根据目录看更清晰)
  3. SpringBoot + Activiti 完美结合,快速实现工作流(最详细版)
  4. Linux 的 Fedora 安装重新配置
  5. caa catia 视图缩放_CAA对话框如何在CATIA窗口居中显示
  6. 统计不同数字的个数(升级版)
  7. 研究生阅读文献的门道
  8. TCP连接中seq和ack是什么东西呢
  9. 重发布(重分布、重分发)
  10. 解决electron windows应用在删除安装目录后重新覆盖安装失败的问题