如何使用 dplyr 中的排列来对组进行排序?

2024-02-05

我想对数据进行分组,然后排列表格,以便首先显示具有最高值的组。例如。在 mtcars 数据集中,我想按气缸数对汽车进行分组,然后排列表格,以便具有最高平均值的组mpg首先显示

mtcars %>% group_by (cyl)  %>% arrange (desc(mean (mpg)))

这会产生一个错误:

Error: incorrect size (1) at position 1, expecting : 32

我问的原因是,在 group_by() 之后应用时,filter() 应用于整个组,而不是单个行。


一个好方法是将分组变量转换为factor并使用reorder (or forcats::fct_reorder)来控制级别的顺序。然后你可以arrange通过该栏。 (分组隐含在reorder功能。)

library(dplyr)

mtcars %>%
  mutate(
    cyl = reorder(factor(cyl), -mpg) 
    # stats::reorder, built-in, uses mean by default
    # use -mpg to make it descending
  ) %>%
  arrange(cyl)

# alternately
library(forcats)
mtcars %>%
  mutate(
    cyl = fct_reorder(factor(cyl), mpg, .fun = mean, .desc = TRUE)
    # forcats::fct_reorder, uses median by default,
    # takes a .desc argument to make it descending
  ) %>%
  arrange(cyl)

像这样更改数据很好,因为您指定的顺序将被其他函数记住并使用(例如对条形或面进行排序)ggplot).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 dplyr 中的排列来对组进行排序? 的相关文章

  • (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : 参数暗示不同的行数: 1, 4, 5, 2

    我是 R 的初学者 我希望你能帮助我解决我的问题 我的数据集中的文件名包含大量信息 我必须提取这些信息来创建单独的变量 首先我使用 splits lt t as data frame strsplit as character rawdat
  • 将表达式捕获为 R 中的函数体

    我正在尝试编写一个程序 该程序将表达式作为输入并返回一个以该表达式绑定作为其主体的函数 caller lt function expr params Function lt function params body env parent f
  • 使用 R 将多个数据帧写入 .csv 文件

    我使用 lapply 将函数应用于多个数据框 data cleaned lt lapply data list shooter cleaning 然后根据主题编号 例如 100 标记列表中每个结果数据帧 names data cleaned
  • Foreach Parallel - 多个输出的组合功能

    我有一组 45000 个用户和 40 多部电影的评分 我需要根据每个用户与其他用户的皮尔逊相关性来预测每个用户的新评分 我还需要存储相似用户的集合以及每个用户 电影组合的相似性 我使用 foreach 包并行执行循环 我设法编写的代码是这样
  • 绘制由 R 中的 caret 包训练的 SVM 线性模型

    Purpose 我试图通过可视化 SVM 线性分类模型plot 我正在使用中提供的示例代码和数据kernlab包注意到了caret实际上通过训练 svmksvm函数 参考这里的src代码 https github com topepo ca
  • 只保留矩阵中某些列具有相同元素的行

    让我举个例子 假设我们有 3 个表 重点关注 N 列 Table 1 Table 2 Table 3 N Values N Values N Values 5 1 5 1 5 1 10 2 6 2 6 21 15 3 10 3 10 5 1
  • 如何在 R 中创建没有情节的图例?

    这是一个艺术项目 我创建了一个包含 5 种不同颜色的许多点的散点图 我想创建一个与绘图完全分开的图例 因为它不在绘图上 也不在绘图旁边 而是在它自己的窗口中 因此我可以将图例保存为它自己的 pdf 文件 这样我就可以将我的情节和图例分开打印
  • 如何在 R 中编写 csv 文件,其中我的输入作为行写入文件?

    这是一个非常简单的问题 令我惊讶的是网上没有例子 我有一个向量 vector lt c 1 1 1 1 1 我想将其写为 csv 作为一个简单的行 write csv vector file myfile csv row names FAL
  • R 中的闭包类似于 Python

    首先考虑以下 Python 代码 该代码计算函数被调用的次数 def counter fn count 0 def inner args kwargs nonlocal count count 1 print Function 0 was
  • 将多个对齐的绘图放置在一页上时避免浪费空间

    我想将四个图放在一个页面上 轴标签应仅打印在最边缘 即x仅用于底部图表的轴标签 以及y仅左图的轴标签 这既适用于整个轴的名称 也适用于各个刻度线 我可以使用以下代码生成一些内容 pdf file ExampleOutput pdf widt
  • 如何将管道链 (magrittr) 的结果提供给对象

    这是一个相当简单的问题 但我无法通过 google stackexchange 找到答案并查看 magrittr 的文档 如何提供通过 gt 连接的函数链的结果来创建向量 我看到大多数人做的是 a lt data frame x c 1 3
  • R 因子变量之间的相关性

    我想知道是否有一种简单的方法来识别与另一个变量 100 相关的特征 因子变量 因此 在示例中 该过程将匹配 颜色 和 车辆 以及 植物 和 高度 color lt c black black blue blue yellow vehicle
  • 在for循环中重命名ggplot2图

    我有一个关于在 for 循环中创建 ggplot2 图表 根据迭代重命名它们 然后在网格中排列图表的问题 我想做类似这个虚拟示例的事情 library ggplot2 a c 1 2 3 b c 4 5 6 for i in c 1 5 x
  • R:data.table 与 merge(aggregate()) 性能

    或者更一般地说 它是DT SD by versus merge aggregate 话不多说 这里是数据和示例 set seed 5141 size 1e6 df lt data table a rnorm size b paste0 sa
  • 使用 RSQLite 在 R 中加载 SQLite 表

    我有这个函数用来加载 SQLite 表 sqLiteConnect lt function database table library DBI library RSQLite con lt dbConnect SQLite dbname
  • Foreach循环无法找到对象

    我正在尝试将 foreach 与并行后端结合使用来加速计算 用于特征选择的 AUCRF 随机森林的交叉验证 如果这确实重要的话 在这样做的过程中 我需要获取向量的子集 向量的名称可以更改 但可以作为字符向量进行访问 我使用 eval par
  • 在 R 中使用 randomforest() 进行分类?

    我最初有一个由 N 行 12 列组成的数据框 最后一列是我的班级 0 或 1 我必须将整个数据框转换为数字 training lt sapply training temp as numeric 但后来我认为我需要将类列作为因子列来使用 r
  • 在 ggplot2 中,如何将堆叠直方图中的小值条形组合在一起?

    示例数据 tmp df lt data frame a rnorm 100 0 1 b rnorm 100 0 5 1 c rnorm 100 0 5 1 d rnorm 100 1 1 e rnorm 100 1 1 gt tidyr g
  • 如何在 sqlSave() 命令中跳过主键?

    我正在尝试使用 RODBC 在 MySQL 数据库中插入 data frame 我正在使用的命令如下 sqlSave channel dbData tablename table name append TRUE safer TRUE fa
  • R闪亮的html小部件之间的交互

    我正在开发一个 R 闪亮应用程序 它使用多个 html 小部件 特别是网络D3 d3热图 and 和弦诊断 这些小部件单独工作正常 但是 在同一页面中使用它们会留下一个空格处他们应该在哪里 这是显示错误的可重现代码 在 UI 中注释绘图线

随机推荐

  • 以“会计”格式处理负数

    我有数据集 其负值用括号括起来 即 10 10 它是csv格式的 我该如何处理它以便R能够解释 10 as 10 谢谢 更新 我知道我可以通过替换来解决 as 消除 并使用as numeric之后 但是有没有更优雅的方法来解决这个问题 如果
  • 在 Txt 文件中查找字符串,删除整行

    我目前正在使用 node js 创建一个 IRC 机器人 该机器人允许用户将歌曲链接添加到数据库中 每次有人提交一首歌曲时 它都会添加到 shuffle txt 的新行中 如下所示 user1 The Beatles Yesterday y
  • expoClientID 去了哪里?

    我正在将 Facebook 登录添加到我的博览会应用程序中 它在文档 https docs expo dev guides authentication facebook进入我的expoClientId某处 问题是我不知道该把它放在哪里 我
  • 如何在 PHP 中绑定 SQL 变量?

    我想绑定变量而不是仅仅构建 SQL 字符串 无论如何要在 Php 中执行此操作吗 MySQL 或 PostgreSQL 的答案都会有帮助 Thanks 有例如PDO http docs php net pdo pdo 和准备好的语句 包括绑
  • 从布局 xml 文件旋转 ImageView 源

    我的布局中有这个 ImageView
  • Android 上的 flash.sensors.Accelerometer 在网络浏览器中

    加速度计UPDATE事件永远不会触发 但是isSupported当 Flash 应用程序在 Android Web 浏览器中运行时 返回 true 我怎样才能让它发挥作用 this accelerometer new Acceleromet
  • php/mysql 将行添加在一起以获得总计

    这是场景 我正在生成一份关于在特定时间段内需要缴纳会费的所有会员的报告 我成功选择每个数据库条目并将其显示为 html 表中的一行 问题是报告必须具有的总字段数 每个成员根据他们使用的服务支付不同的金额 因此我必须单独添加每个字段中的值以确
  • 服务器启动时的调用方法[重复]

    这个问题在这里已经有答案了 我试图在我的网络应用程序启动时调用一个方法 目的是启动一个计时器 以定义的时间间隔执行一些工作 当我的 jboss 7 1 Web 应用程序启动时 如何调用函数 helloworld 如果您想在 Web 应用程序
  • 如何使用 sqlalchemy-migrate 将列类型从字符变化更改为整数

    我正在使用 sqlalchemy migrate 来更改 Postgre SQL 数据库中表中的一列的类型 我使用的升级脚本是 cofing utf 8 from sqlalchemy import MetaData Table Colum
  • 如何将元标记设置为 部分中的第一个标记?

    我正在使用 JSF2 GlassFish 3 1 PrimeFaces 2 x 我在 IE9 上遇到奇怪的渲染问题 我应该能够通过插入以下内容来强制 IE9 呈现为 IE9 但问题是 它不起作用 因为 我被告知 元标记必须是该部分中的第一个
  • C# 中的堆栈溢出

    我有这个寄存器来注册我需要的所有对象 public static class ObjectRegister public static List
  • 在 WCF 服务库项目中使用自定义 ServiceHostFactory

    我正在编写一个 WCF 服务 该服务在内部严重依赖于控制反转 我想在自定义 ServiceHostFactory 内引导 初始化我的 IoC 容器 我读过一些可用的不同钩子的示例 但它们似乎都不适合我 This approach http
  • AntiForgeryToken 登录后无效

    我有一个用户可以在不登录的情况下发布的表格 但是 如果他的电子邮件被识别 则需要密码 密码表单通过 Ajax 进行验证 如果成功 则提交主表单 两种形式都需要有效的 AntiForgeryToken 问题是 密码检查作为副产品还会使用户登录
  • Android:如何以编程方式突出显示 EditText?

    requestFocus 将光标移动到编辑框 但不突出显示它 我想突出它 就像它被触摸一样 我怎样才能做到这一点 尝试这个 field setSelection int startIndex int endIndex 第一个参数 start
  • Xamarin 是否有 #if 或 #ifdef 来确定平台?

    例如 ifdef iOS ifdef android 等 如果有 if就更好了 iOS if MOBILE Console WriteLine MOBILE is defined endif if IOS Console WriteLine
  • 在包装物品的行上添加水平线分隔符

    我使用 css flexbox 在行中放置未知数量的项目 如果需要 可以环绕到其他行 我的问题是 每行之间是否可以有一条水平线 Here http codepen io anon pen jbQpvP这是我所拥有的一个简单的例子 如果打开
  • 如何使用last_insert_rowid插入多行?

    假设我有一个包含两个表的数据库Persons and PhoneNumbers 其中PhoneNumbers表有一个外键Persons 如果我想在一次事务中插入一个拥有电话号码的人 我可以编写如下查询 BEGIN TRANSACTION I
  • 如何在java代码中使用.dll文件?

    我有一个 dll 文件 我必须在 java 中使用它 此 dll 文件有一个参数化方法 该方法应返回字符串类型 当我向它传递参数时 我收到的消息为Native methods do not specify a body 这是代码 packa
  • 使用建议时,Visual Studio 2017 强制在方法名称处添加“async”(Ctrl + .)

    我在使用 Visual Studio 2017 时遇到问题 当我想使用 await 调用方法并按 Ctrl 时 要向方法添加 async VS2017将强制在方法名称处添加 async 这有时很有用 但在某些覆盖方法 如 OnNaviged
  • 如何使用 dplyr 中的排列来对组进行排序?

    我想对数据进行分组 然后排列表格 以便首先显示具有最高值的组 例如 在 mtcars 数据集中 我想按气缸数对汽车进行分组 然后排列表格 以便具有最高平均值的组mpg首先显示 mtcars gt group by cyl gt arrang