R summarize()分组摘要

news2024/12/23 10:34:21

summarize()分组摘要分组平均值最大最小值计数

library(nycflights13)
library(tidyverse)

summarize()可以将数据折叠成一行
如果不与group_by()一起使用,那么summarize()也没什么用

summarize(flights, delay = mean(dep_delay, na.rm = TRUE))
delay
12.63907

group_by()可以将分析数据集改为单个分组

by_day <- group_by(flights,year,month,day)
summarize(by_day,delay=mean(dep_delay,na.rm=TRUE))

image-20220320114851862

通过summarize可以起到mutate的作用

by_dest <- group_by(flights,dest)
delay <- summarize(by_dest,
                   count = n(),
                   dist = mean(distance, na.rm = TRUE),
                   delay = mean(arr_delay, na.rm = TRUE))
ggplot(data=delay,mapping=aes(x=dist,y=delay))+
  geom_point(aes(size=count),alpha=1/3)+
  geom_smooth(se=FALSE)

image-20220320120257405

常用的摘要统计量

分组求和、求平均值、计数等等。

思路是group_by统计量,summarize(count = n())

#先选出没有取消的航班
not_cancelled <- flights %>% 
  filter(!is.na(dep_delay),!is.na(arr_delay))
#平均延误时间
not_cancelled %>% 
  group_by(year,month,day) %>% 
  summarize(mean=mean(dep_delay))

image-20220320120640723

摘要函数名称
位置度量mean() median()
分散程度度量sd() IQR() mad()
秩的度量min() quantile() max()
定位度量first() nth() last()
计数n()
#位置度量
not_cancelled %>% 
  group_by(year,month,day) %>% 
  summarize(
    #平均延误时间
    avg_delay1=mean(arr_delay),
    #平均延误纠正时间 (只选择大于0
    avg_delay2=mean(arr_delay[arr_delay>0])
  )
yearmonthdayavg_delay1avg_delay2
20131112.651022932.48156
20131212.692887932.02991
2013135.733333327.66087
201314-1.932819428.30976
201315-1.525802022.55882
2013164.236429424.37270
201317-4.947311827.76132
201318-3.227578520.78909
201319-0.264277725.63415
2013110-5.898815927.34545
#分散程度度量
not_cancelled %>% 
  group_by(dest) %>% 
  summarize(distace_sd=sd(distance)) %>% 
  arrange(desc(distace_sd))
destdistace_sd
EGE10.542765
SAN10.350094
SFO10.216017
HNL10.004197
SEA9.977993
LAS9.907786
PDX9.873299
PHX9.862546
LAX9.657195
IND9.458066
CVG9.018212
SAT9.005084
#秩的度量min(x),quantile(x,0.25),max(x)
#每天最早和最晚出发的航班
not_cancelled %>% 
  group_by(year,month,day) %>% 
  summarize(
    first=min(dep_time),
    last=max(dep_time)
  )
yearmonthdayfirstlast
2013115172356
201312422354
201313322349
201314252358
201315142357
201316162355
201317492359
2013184542351
20131922252
201311032320
#计数(唯一值数量 n_distinct())
#哪个目的地有最多的航空公司
not_cancelled %>% 
  group_by(dest) %>% 
  summarize(carriers=n_distinct(carrier)) %>% 
  arrange(desc(carriers))
destcarriers
ATL7
BOS7
CLT7
ORD7
TPA7
AUS6
DCA6
#只需要计数的情况
# 无需摘要统计
not_cancelled %>% 
  count(dest)
#逻辑值计数和比例
#多少航班是在5点前出发的
not_cancelled %>% 
  group_by(year,month,day) %>% 
  summarize(n_early=sum(dep_time<500))
#或者写为
not_cancelled %>% 
  group_by(year,month,day) %>% 
  summarize(early= dep_time[dep_time<500]) %>% 
  summarize(n=n())

注意区分上面的

#位置度量
not_cancelled %>% 
  group_by(year,month,day) %>% 
  summarize(
    #平均延误时间
    avg_delay1=mean(arr_delay),
    #平均延误纠正时间 (只选择大于0
    avg_delay2=mean(arr_delay[arr_delay>0])
  )

#航班延误1小时的比例
#因为arr_delay>60是返回的一堆逻辑值110001求mean是比例
not_cancelled %>% 
  group_by(year,month,day) %>% 
  summarize(hour_prec=mean(arr_delay>60))
  • sum(dep_time<500): 这个是求dep_time小于500的个数,因为dep_time<500会先生成0,1的布尔列,求和就是1的数量

  • dep_time[dep_time<500] %>% summarize(n=n()):和上面一样,相当于先摘要出dep_time<500的,再计数

  • mean(arr_dalay): 对所有的arr_dalay求平均

  • mean(arr_delay[arr_delay>0]):只求arr_delay大于0的平均值

  • mean(add_delay>60),求的是arr_delay大于60的比例

  • dep_time[dep_time<500] %>% summarize(n=n()):和上面一样,相当于先摘要出dep_time<500的,再计数

  • mean(arr_dalay): 对所有的arr_dalay求平均

  • mean(arr_delay[arr_delay>0]):只求arr_delay大于0的平均值

  • mean(add_delay>60),求的是arr_delay大于60的比例

  • mean(add_delay[arr_delay>60]): 只求arr_delay大于60的平均值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22336.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于PHP+MySQL仓库管理系统的设计与实现

PHP&#xff1a;MySQL仓库管理系统的设计与实现是一个集合了中小型超市所有特点的一个管理系统, 它使用当下最流行的PHP语言来进行开发,实现了管理员登录,员工登录,超市内物资基本信息管理,进货信息管理,销售信息管理,超市内员工信息管理,查询统计等功能, 通过这些功能可以让超…

Kubernetes云原生实战01 Kubernetes高可用部署架构

大家好&#xff0c;我是飘渺。从今天开始我们将正式开始Kubernetes云原生实战系列&#xff0c;欢迎持续关注。 Kubernets核心组件 Kubernetes中组件众多&#xff0c;要完全介绍清楚估计要写上厚厚一本书&#xff0c;我们实战系列主要记住几个核心组件就行&#xff0c;即两种节…

【LeetCode每日一题:808.分汤~~~边界条件的特判+记忆化搜索】

题目描述 有 A 和 B 两种类型 的汤。一开始每种类型的汤有 n 毫升。有四种分配操作&#xff1a; 提供 100ml 的 汤A 和 0ml 的 汤B 。 提供 75ml 的 汤A 和 25ml 的 汤B 。 提供 50ml 的 汤A 和 50ml 的 汤B 。 提供 25ml 的 汤A 和 75ml 的 汤B 。 当我们把汤分配给某人之后…

vue3项目,vite+vue3+ts+pinia(10)-elementplus布局

项目创建好,接下来引入Container 布局容器, 在src下新建layout文件夹, layoutName.vue <template><el-container><el-aside width"200px">aside</el-aside><el-container><el-header>Header</el-header><el-main>…

CompletableFuture异步编程Api使用详解

Java 8 引入了很多的新特性&#xff0c;其中就包含了 CompletableFuture 类的引入&#xff0c;它允许我们通过在与主应用程序线程不同的线程上&#xff08;也就是异步&#xff09;运行任务&#xff0c;并向主线程通知任务的进度、完成或失败&#xff0c;来编写非阻塞代码。 Fu…

LVS-DR模式部署

目录 一、环境准备 1、DR模式介绍 2、DR模式工作原理 3、服务器准备 二、实验拓扑 三、配置网络环境 1、配置调度器网络环境 2、配置Web服务器网络环境 四、创建LVS-DR集群 1、创建LVS集群 2、添加Real Server 3、查看lvs配置 五、LVS服务器开启路由转发 六、效果…

TCP四次挥手 2MSL TIME_WAIT详解

TCP四次挥手 & 2MSL & TIME_WAIT详解TCP四次挥手流程各状态解析2MSL(2倍最大报文段生成时间)2MSL (Maximum Segment Lifetime) TIME_WAIT状态的存在有两个理由该状态为什么设计在主动关闭这一方?如何正确对待2MSL TIME_WAIT?TCP四次挥手流程 【注意】只要是申请关闭连…

基于Open vSwitch的传统限速和SDN限速--实验

基于Open vSwitch的传统限速和SDN限速--实验基于Open vSwitch的传统限速和SDN限速--实验1.下载与安装1.1 安装Docker1.2 Open vSwitch的安装2.配置实验环境3.实验步骤3.1启动floodlight控制器3.2创建拓扑3.3网卡限速3.4队列限速3.5 Meter表限速4.三种方式数据对比5.实验分析6.总…

仿大众点评——秒杀系统部分03——RabbitMq措施

RabbitMq保证消息不丢失 RabbitMQ如何保证消息的可靠性&#xff1a; 1.从生产者到消息队列&#xff0c;congfirm模式&#xff08;与事务相比confirm模式最大的优势是异步&#xff09;通过消息确认机制来保证&#xff0c;通过给每个指派唯一标志&#xff0c;完成消费后返回ack确…

【LeetCode每日一题】——136.只出现一次的数字

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 数组 二【题目难度】 简单 三【题目编号】 136.只出现一次的数字 四【题目描述】 给你一个 非…

[附源码]SSM计算机毕业设计风景区管理系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

再学DataX

一、DataX简介 DataX官网文档&#xff1a;https://github.com/alibaba/DataX/blob/master/introduction.md DataX 是一个异构数据源离线同步工具&#xff0c;致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同…

MyBatis基于XML的使用——动态sql

1、动态sql 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它 类似的框架&#xff0c;你应该能理解根据不同条件拼接 SQL 语句有多痛苦&#xff0c;例如拼接时要确保不能忘记添加必要的空格&#xff0c;还要注意去掉列表最后一个列名的逗号。 利用动态 SQL&#…

14服务-ClearDiagnosticlnformation

诊断协议那些事儿 诊断协议那些事儿专栏系列文章&#xff0c;本文介绍存储数据传输服务下的14服务ClearDiagnosticlnformation&#xff0c;客户端使用ClearDiagnosticlnformation服务清除一个或多个服务器存储器中的诊断信息。 关联文章&#xff1a;$19服务:DTCStatusMask和s…

CockroachDB-读和写

本文知识点来源于官网地址https://www.cockroachlabs.com/docs/stable/architecture/reads-and-writes-overview.html 查询执行 当CRDB执行查询时&#xff0c;集群将请求路由到包含相关数据的范围的Leaseholder。如果查询涉及多个范围&#xff0c;则请求将发送给多个Leasehol…

求实数的整数次幂(循环版)(高效)(位运算解题)

求实数的整数次幂(循环版)(高效) (10 分) 原理图&#xff1a; 请编写函数&#xff0c;用循环语句以最快的方法求任意实数的任意整数次幂。 函数原型 double Power(double x, int n); 说明&#xff1a;参数 x 为底数&#xff0c;n 为指数。若参数正确&#xff0c;则函数值为…

智能驾驶开启产业新赛道:资本扎堆布局车规级高精定位

2022年被称为高阶智能驾驶元年的背后&#xff0c;新的产业链正在悄然发展。 车规级高精定位便是其中之一。2022年10月&#xff0c;主业聚焦于动力总成测试的上海华依科技集团股份有限公司&#xff08;以下简称“华依科技”&#xff0c;688071.SH&#xff09;&#xff0c;发布公…

漫画风格迁移神器 AnimeGANv2:快速生成你的漫画形象

生成你的漫画形象&#xff01; 漫画风格迁移神器 AnimeGANv2 文章目录生成你的漫画形象&#xff01; 漫画风格迁移神器 AnimeGANv2快速在线生成你的漫画形象AnimeGAN 简要介绍与其他动漫风格迁移模型的效果对比AnimeGANv2 的优点AnimeGANv2 风格多样化AnimeGANv2 网络结构快速生…

基于stm32单片机的水位检测自动抽水系统

资料编号&#xff1a;106 下面是相关功能视频演示&#xff1a; 106-基于stm32单片机的水位检测自动抽水系统Proteus仿真&#xff08;源码仿真全套资料&#xff09;功能介绍&#xff1a; 使用滑动变阻器模拟水位监测器&#xff0c;通过改变电压值表示水位的变化。stm32通过ADC…

【前端】从 0 到 1 实现一个网站框架(一、注册 [1] )

Hi~你好呀&#xff0c;等你很久啦~ 我是 LStar&#xff0c;一枚来自北京的初二女生&#xff0c;2020 年年初加入 CSDN。 话不多说&#xff0c;直入主题~&#xff08;我现在看两年多前我 11 岁那会发的文章&#xff0c;越看越想笑。为了不让四年后 18 岁的我看着这篇文章露出 …