首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

dplyr group_by()和summarise()在所选行之间的组内执行计算

dplyr是一个R语言中用于数据处理和操作的包,其中包含了一些常用的函数,如group_by()和summarise()。这两个函数通常一起使用,用于在所选行之间的组内执行计算。

group_by()函数用于按照指定的变量对数据进行分组。它将数据集按照指定的变量值进行分组,创建一个分组对象。可以使用多个变量进行分组,以创建多级分组。

summarise()函数用于对每个组进行汇总计算。它可以对每个组内的数据进行统计计算,如求和、平均值、中位数等。可以使用多个summarise()函数来进行多个计算操作。

这两个函数的组合可以实现在所选行之间的组内执行计算的功能。首先使用group_by()函数按照指定的变量对数据进行分组,然后使用summarise()函数对每个组进行汇总计算。

举个例子,假设我们有一个包含学生姓名、科目和成绩的数据集。我们想要计算每个科目的平均成绩和最高成绩。可以使用dplyr包中的group_by()和summarise()函数来实现:

代码语言:txt
复制
library(dplyr)

# 创建示例数据集
data <- data.frame(
  student = c("Alice", "Bob", "Alice", "Bob", "Alice", "Bob"),
  subject = c("Math", "Math", "English", "English", "Science", "Science"),
  score = c(80, 90, 85, 95, 75, 85)
)

# 按照科目进行分组,并计算平均成绩和最高成绩
result <- data %>%
  group_by(subject) %>%
  summarise(
    average_score = mean(score),
    max_score = max(score)
  )

# 打印结果
print(result)

这段代码首先加载dplyr包,然后创建了一个示例数据集。接下来,使用group_by()函数按照科目对数据进行分组,然后使用summarise()函数计算每个组的平均成绩和最高成绩。最后,将结果打印出来。

对于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体的云计算品牌商,无法给出具体的链接地址。但腾讯云提供了一系列云计算相关的产品和服务,可以通过访问腾讯云官方网站来了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

「R」dplyr 计算

「原文来自:dplyr 文档」 上一篇:「R」dplyr 列式计算 通常 dplyr R 更适合对列进行操作,而对操作则显得更麻烦。...这篇文章,我们将学习围绕rowwise() 创建 row-wise 数据框 dplyr 操作方法。 本文将讨论 3 种常见使用案例: 按聚合(例如,计算 x, y, z 均值)。...,它计算所有 x, y z 均值。...这不是你通常需要考虑事情(它会工作),但知道什么时候出错是很有用。 分组数据框(每个恰好有一行数据框(每个总是有一之间有一个重要区别。...我现在已经说服自己,式魔法是好魔法,部分原因是大多数人发现[[[神秘化rowwise()之间区别意味着你不需要考虑它。

6.2K20

数据处理|R-dplyr

Width) #计算一个或多个新列并删除原列 6)数据汇总 summarize()函数实现数据集聚合操作,将多个值汇总成一个值 summarise(iris,avg = mean(Sepal.Length...Q:按品种分组,分别计算花萼宽度均方差 summarise(group_by(iris,Species),sd=sd(Petal.Width)) 8)连接操作符 dplyr包里还新引进了一个操作符,%...iris %>%group_by(Species) %>% summarise(sd=sd(Petal.Width)) #iris数据集,按Species分组,汇总Petal.Widthsd值, 9)...sample_n(mtcars, 50, replace = TRUE) #随机有重复取50数 10)数据联结 dplyr包也提供了数据集连接操作,如左连接、右连接、连接等: inner_join...11)数据合并 dplyr包中也添加了类似cbind()函数rbind()函数功能函数,它们是bind_cols()函数bind_rows()函数。

1.9K10

「R」dplyr 列式计算

近期使用 「dplyr」 进行多列选择性操作,如 mutate_at() 时,发现文档提示一系列dplyr」 函数变体已经过期,看来后续要退休了,使用 across() 是它们统一替代品,所以最近抽时间针对性学习翻译下...本文是第一篇,介绍是「列式计算」,后续还会有一篇介绍按处理数据。...原文来自 [dplyr 文档](Column-wise operations • dplyr (tidyverse.org "dplyr 文档")) - 2021-01❞ 同时对数据框多列执行相同函数操作经常有用...(如果你想要计算每一 a, b, c, d 均值,请看计算一文) 本文将向你介绍 across() 函数,它可以帮助你以更加简洁方式重写上述代码: df %>% group_by(g1,...下面是联合 across() 和它最喜欢动词函数 summarise()一些例子。但你也可以联合 across() 任意其他dplyr」 动词函数,我们后面会提及。

2.4K10

tidyverse|数据分析常规操作-分组汇总(sumamrise+group_by)

使用tidyverse进行简单数据处理: 盘一盘Tidyverse| 筛选列之select,玩转列操作 盘一盘Tidyverse| 只要你要只要我有-filter 筛选 Tidyverse|数据列分分合合...,一分多,多合一 Tidyverse| XX_join :多个数据表(文件)之间各种连接 本次介绍变量汇总以及分组汇总。...一 summarize汇总 汇总函数 summarise(),可以将数据框折叠成一 ,多与group_by()结合使用 1.1 summarise完成指定变量汇总 统计均值,标准差,最小值,个数逻辑值...分组汇总 group_by() summarise() 组合构成了使用 dplyr 包时最常用操作之一:分组摘要 2.1 按照Species分组,变量汇总 iris %>%...这使得 sum() mean() 非常适用于逻辑值:sum(x) 可以找出 x 中 TRUE 数量, mean(x) 则可以找出比例 . iris %>% group_by(Species

2.4K60

生信学习小组day6--大姚

# 筛选条件是Species == "setosa" filter(test, Species == "setosa"&Sepal.Length > 5 )##第一代码基础上增加一个筛选条件,要同时满足这两个筛选条件...():汇总 可结合group_by使用实用性更强 summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length平均值标准差...# 以下两条代码意思是先按照Species分组,计算每组Sepal.Length平均值标准差 group_by(test, Species) summarise(group_by(test, Species...)) 看,通过管道可以将test中数据直接传递给group_by函数使用,也可以将分组后species数据传递给summarise函数使用 test %>% group_by(Species)...%>% summarise(mean(Sepal.Length), sd(Sepal.Length)) 2:count统计某列unique值 count(test,Species) 四、dplyr

79500

DAY6-学习R包

加载 libraryrequire 使用一个R包需先安装再加载 library(dplyrdplyr五个基础函数mutate(),新增列——mutate(test, new = Sepal.Length...))#用desc从大到小summarise():汇总summarise(test, mean(Sepal.Length), sd(Sepal.Length))mean()计算平均值sd()计算标准差group_by...(test, Species)#按照Species分组并汇总summarise(group_by(test,Species),mean(Sepal.Length),sd(Sepal.Length))#按照...Species分组,计算每组Sepal.Length平均值标准差并汇总dplyr两个实用技能管道操作 %>% —— 相当于将左边作为右边函数第一个参数,快捷键: ctrl+shift+M(不管用...——改为Ctrl+a) test %>%  group_by(Species) %>%  summarise(mean(Sepal.Length), sd(Sepal.Length))count统计某列

18330

Day6——R包

数据框是一种二维表格结构,其中包含了多个变量(字段)观测值()。进行数据分析时,有时我们只对数据框中特定字段感兴趣,而不需要使用所有的字段。...setosa","versicolor#%in%判断前面一个向量元素是否在后面一个向量中,返回布尔值。...():#汇总对数据进行汇总操作,结合group_by使用实用性强summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length...平均值标准差group_by(test, Species)#先按照Species分组summarise(group_by(test, Species),mean(Sepal.Length), sd(...Sepal.Length))#计算每组Sepal.Length平均值标准差dplyr两个实用技能管道操作 %>%加载任意一个tidyverse包即可用管道符号#%>% (向右操作符,forward-pipe

14010

Day6生信入门—R包

下面以dplyr为例,学习R包 安装和加载R包 初级模式 通过options()$repos检验 升级模式 为了保证可以自定义CRANBioconductor下载镜像,只需要运行这两代码即可:...### 高级模式 使用R配置文件.Rprofile 图片 1)首先用file.edit()来编辑文件:file.edit('~/.Rprofile') 2) 然后左上添加两options代码:...():汇总 对数据进行汇总操作, 结合 group_by 使用实用性强 summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length...平均值标准差 先按照Species分组,计算每组Sepal.Length平均值标准差: group_by(test, Species) summarise(group_by(test, Species...(x = test2, y = test1, by = 'x') ## 6.简单合并 相当于base包里cbind()函数rbind()函数;注意,bind_rows()函数需要两个表格列数相同,

43020

dpois函数_frequency函数

这会将分析单位从完整数据集更改为单个。当在分组数据框上使用dplyr时,它们将自动“按”应用。...dplyrgroup_by()summarize()是同时使用最常用工具之一:分组概括。...幸运是,所有聚合函数都有一个na.rm参数,该参数计算之前删除缺失值: flights %>% group_by(year, month, day) %>% summarise(mean...查看此类图时,过滤掉具有最少观察数通常很有用,因此可以看到更多模式,而不是最小组中极端变化。这就是下面的代码所做,并向您展示了将ggplot2集成到dplyr流中便捷模式。...过滤提供所有变量,每个观察一个单独中: not_cancelled %>% group_by(year, month, day) %>% mutate(r = min_rank(desc

1.8K10

R语言 分组计算,不止group_by

最近在研究excel透视图,想到好像自己R-分组操作并不是很流畅,顺便学习分享一下。R自带数据集比较多,今天就选择一个我想对了解mtcars数据集带大家学习一下R语言中分组计算(操作)。...目录 1 dplyr包中group_by联合summarize 1.1 group_by语法 1.2 summarise语法 1.3 group_bysummarise单变量分组计算 1.4...group_bysummarise多变量分组计算 2 ddply 2.1 ddply语法 2.2 ddply分组计算示例 3 aggregate 3.1 aggregate语法 3.2 aggregate...Useful functions拓展中英语不解释了,应该懂得 1.3 group_bysummarise单变量分组计算示例 > library(dplyr) #加载dplyr包 > by_cyl <-...summarise多变量分组计算示例 > mtcars %>% group_by(vs, am) %>% summarise(n = n()) # A tibble: 4 x 3 # Groups:

8K50

学习R包

本次以dplyr为例安装和加载R包镜像设置运行这两代码options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))options...(Sepal.Length))#用desc从大到小summarise():汇总,对数据进行汇总操作,结合group_by使用实用性强summarise(test, mean(Sepal.Length),...sd(Sepal.Length))# 计算Sepal.Length平均值标准差eg:先按照Species分组,计算每组Sepal.Length平均值标准差group_by(test, Species...)summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))dplyr两个实用技能管道操作 %>% (cmd/ctr...+ shift + M)同时执行三件事(加载任意一个tidyverse包即可用管道符号)count统计某列unique值dplyr处理关系数据即将2个表进行连接內连inner_join,取交集左连left_join

10610

Day6-橙子

Biocductorlimma包加载加载R包两个函数libraryrequire二者均可library(dplyr)安装加载三部曲R包使用流程:先安装后加载,然后才能使用包里函数options(...()对数据进行汇总操作,结合group_by使用实用性强summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length平均值标准差...# 先按照Species分组,计算每组Sepal.Length平均值标准差group_by(test, Species)summarise(group_by(test, Species),mean(...%>% summarise(mean(Sepal.Length), sd(Sepal.Length))count统计某列unique值count(test,Species)dplyr处理关系数据将...表所有记录semi_joinanti_join(x = test2, y = test1, by = 'x') #反连接:返回无法与y表匹配x表所记录anti_join#简单合并:相当于base包里

10410
领券