当前位置: 首页 > news >正文

【R语言】dplyr包经典函数summarise函数

dplyr包经典函数summarise函数,后面改名乘reframe函数了,但是summarise仍然适用

这个函数的返回结果是一个新的数据框,下面讲一下几种常见用法

示例数据为R自带的数据集mtcars

1.不分组

mtcars %>%summarise(mean = mean(disp), n = n())其中mean表示计算观测值也就是disp的平均值,n()计算观测值的个数,因为没分组所以只有一行也就是整个数据框mtcars中的disp列的平均值以及一共计算了多少个disp加起来之后的平均值,其实就是数据框的行数

2.group_by(col)情况,group_by只传一列,分组使用函数group_by,分组之后原数据框打印出来并没有任何不同,一般是为了配合后面summarise函数使用的

mtcars %>%group_by(cyl) %>%summarise(mean = mean(disp), n = n())按照cyl进行分类,cyl列一种有三种取值,所以最终返回的新数据框有三行,有两列,第一列是mean代表每种cyl取值对应的disp的平均数,第二列是每个平均数的观测值有多少个,这里实际上就是每种cyl有多少个

3.group_by(col1,col2)情况,表示按照每个col1和col2的独特组合来分组

mtcars %>%group_by(cyl, vs) %>%summarise(cyl_n = n())

分多组与分一组的区别在于返回的新数据框会多出来分多组的列,比如我上面分了cyl, vs两列,那么返回的新数据框就会有这两列,再加上手动创建的cyl_n列

其中cyl三种取值,vs两种取值,把他两个放一起分组,意思就是统计每个cyl和vs独特组合的对应统计量,比如统计每个这样的独特组合有多少行,每个独特组合disp的平均值等等,理论上来讲返回的新数据框最多有3乘2等于6行,但实际上可能少于6行,因为可能有一些组合在原数据框中并不存在,比如vs=1,cyl=8的就不存在

相关文章:

  • 永洪科技旗下BI产品,成功入选“金融信创优秀解决方案“
  • 模版语法vscode
  • 云计算及其他计算
  • 【LeetCode刷题之路】leetcode155.最小栈
  • Windows 11【1001问】如何下载Windows 11系统镜像
  • 【2025信息安全软考重点考点归纳】实时更新
  • 首发!三维街景数据产品V0.1版发布
  • 网络安全入门|从防护到溯源:HTTP慢速攻击的深度对抗
  • 力扣hot100——二叉树的右视图
  • 基于同轴聚类点云去重的铆钉高度测量
  • [数学] 常用数学公式(逐步更新完善)
  • html中rel、href、src、url的区别
  • Python项目源码33:待办事项列表应用2.0(命令行界面+Json+类)
  • DeepSeek 提示词:高效的提示词设计
  • GIST框架:深度学习助力组织病理学与转录组学的空间整合分析|顶刊精析·25-02-24
  • Oracle Fusion Middleware更改weblogic密码
  • 深度解析SmartGBD助力Android音视频数据接入GB28181平台
  • TCP/IP的分层结构、各层的典型协议,以及与ISO七层模型的差别
  • 【Git版本控制器】第五弹——远程仓库,push,pull,gitignore
  • DeepSeek 细节之 MoE
  • 美国恶劣天气已造成至少28人死亡
  • 泽连斯基与美国副总统及国务卿会谈,讨论伊斯坦布尔谈判等问题
  • 内蒙古赤峰市城建集团董事长孙广通拟任旗县区党委书记
  • “80后”南京大学天文与空间科学学院教授施勇加盟西湖大学
  • 浙江理工大学传播系原系主任刘曦逝世,年仅44岁
  • 郑钦文憾负高芙,止步WTA1000罗马站四强