R 按键分组获取多列的最大值

2023-11-30

我想做这样的事情:

如何使R中的A列唯一并保留B列中具有最大值的行

除了我的data.table有一个键列和多个值列。所以说我有以下内容:

   a b c
1: 1 1 1
2: 1 2 1
3: 1 2 2
4: 2 1 1
5: 2 2 5
6: 2 3 3
7: 3 1 4
8: 3 2 1

如果键是列a,我想要每个独特的a返回具有最大值的行b,并且如果有多个唯一的最大值b, 取最大的一个c对于多列依此类推。所以结果应该是:

   a b c
1: 1 2 2
2: 2 3 3
3: 3 2 1

我还希望对任意数量的列执行此操作。因此,如果我的 data.table 有 20 列,我希望按从左到右的顺序应用 max 函数。


这是建议的 data.table 解决方案。您可能需要考虑使用data.table::frankv如下:

DT[, .SD[frankv(.SD, ties.method="first")[.N],], by=a]

frankv返回订单。然后[.N]将获得最大的排名。然后.SD[该特定行的子集。

如果您的较大数据集失败,请告诉我。

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

R 按键分组获取多列的最大值 的相关文章

随机推荐

  • 使用react-leaflet时缺少Leaflet地图图块

    我正在使用简单的例子 from 传单反应准系统create react app app Problem 地图图块确实会渲染 但始终有 1 2 行地图图块未渲染 呈灰色 当地图移动时 不同的行将开始消失 但是 如果我要调整浏览器窗口的大小 地
  • 使用 Postman 测试 REST 持久性端点

    我一直在尝试构建一个安全的 REST 端点来保存 并返回 一个 person 对象 到目前为止我有一个方法如下 RequestMapping value save method RequestMethod POST public Perso
  • Angular 2 继承以启用禁用 Ionic 菜单滑动

    我的问题 我的应用程序包含一个支持滑动的菜单 在登录屏幕上 如果我滑动 我可以看到不正确的菜单 我想禁用不包含菜单图标的页面的菜单滑动 例如登录 包含后退按钮的内部详细信息页面等 找到解决方案 我可以通过以下链接来做到这一点 https s
  • 了解使用 LCP 数组进行模式匹配的算法

    前言 我的问题主要是一个算法问题 所以即使你不熟悉后缀和LCP数组 你也可以帮助我 In this论文描述了如何有效地使用后缀和 LCP 数组进行字符串模式匹配 我了解 SA 和 LCP 的工作以及如何改进算法的运行时间O P log N
  • 如何在android中绘制六边形?

    我在中使用了六边形代码本教程并创建了一个 createHex 类 我应该发布代码吗 链接的网页使用以下代码使用 createHex 中的数学实际绘制六边形 Override public void paint Graphics g for
  • Az 应用程序/主体的租户 Azure 登录失败,并显示“未找到订阅”消息

    我有一个名为 account1 的天蓝色帐户 我在其中创建了一个跨租户可见性的应用程序 主体 然后我给它一些 API 权限 我有另一个天蓝色帐户 account2 我需要使用此应用程序访问资源 我通过访问以下网址完成 account2 的管
  • 如何在生产环境中的 SSRS 中部署自定义程序集

    我创建了一个自定义程序集 该程序集使用第三方程序集 我已在本地计算机中部署了自定义程序集 但现在 我应该如何在生产环境中部署报表和那些程序集 是否有可用的自动化 向导流程 您需要将该程序集复制到生产服务器中Microsoft SQL Ser
  • 如何修复 Python ValueError:bad marshal data?

    在 Ubuntu 中运行 flexget Python 脚本 出现错误 flexget series forget Orange is the new black s03e01 Traceback most recent call last
  • 如何在 Nuxt 中使用私有 API 密钥(在客户端)?

    问题解决了 如果您遇到同样的问题 请查看已接受的答案 这是使用 serverMiddleware 实现它的一种方法 我正在使用需要私钥的 API 我已将密钥存储在 env 文件中 并在 nuxt 配置文件中调用它 如下所示 privateR
  • 如何使用 R 中的最大似然模型将非线性函数拟合到 ggplot2 中的数据?

    数据集 x test y test 是指数拟合 我正在尝试适应自定义非线性函数 并附上代码 常规点图很好 但我无法使拟合线发挥作用 有什么建议么 x test lt runif 50 2 8 y test lt 0 5 x test df
  • 如何处理 socket.io 客户端聊天应用程序中的页面重新加载

    我正在实现一个聊天应用程序 我不在服务器中 包含 javascript 文件的页面可以是文件系统上嵌入了 javascript socket io 的任何 html 页面 现在的问题是 根据定义 页面重新加载总是会触发新的请求 从而产生新的
  • 如何从辅助方法设置变量以包含在 SASS SCSS 样式表中?

    我有一个辅助方法 可以检索需要进入 SASS scss 样式表的字符串 如果我在视图中调用该方法 它工作正常 但似乎 sass 需要一个变量 似乎如果我尝试在控制器中设置一个 var 并认为这最初是正确的方法 我无法在任何地方看到该 var
  • Perl:匹配时空 $1 正则表达式值?

    读者们 我有以下正则表达式问题 code usr bin perl w use 5 010 use warnings my filename input txt open my FILE lt filename or die while m
  • 剂量响应 - 使用 R 进行全局曲线拟合

    我有以下剂量反应数据 希望绘制剂量反应模型和全局拟合曲线 xdata 药物浓度 ydata 0 5 不同药物浓度下的响应值 我毫无问题地绘制了标准曲线 标准曲线数据拟合 df lt data frame xdata c 1000 00 30
  • 从 C# 代码调用 delphi DLL 方法

    我正在尝试从 C ASP NET 代码调用 Delphi 函数 该函数的声明如下所示 function SomeFunction const someString SomeOtherString string OleVariant 从我的
  • 我如何洗牌并向玩家一次一张发牌?

    这就是我到目前为止所得到的 发现自己陷入困境 Private Sub Dealbtn Click sender As Object e As EventArgs Handles Dealbtn Click Dim Suits As Stri
  • 如果数组包含 2 或 3,则返回 True

    我遇到了这个 CodingBat 问题 给定一个长度为 2 的 int 数组 如果它包含 2 或 3 则返回 True 我尝试了两种不同的方法来解决这个问题 谁能解释我做错了什么 This one says index is out of
  • ValueError:地下矩形外表面积

    我正在制作一款相机跟随玩家的平台游戏 我试图通过在整个地图上拥有一个大的表面并且只传输放大的部分来实现这一点 但是我只能获得 30 fps 最小化 和 8 fps 全屏 所以我尝试优化它是在位块传输之前裁剪它 但我得到ValueError
  • 是否有用于电话状态的 NSNotification

    当设备打开 关闭手机时 我们是否可以观察到 NSNotification The NotificationCenter不会发出任何有关此的通知 但请看一下CTCallCenteriOS 4 中引入的类 它有一个callEventHandle
  • R 按键分组获取多列的最大值

    我想做这样的事情 如何使R中的A列唯一并保留B列中具有最大值的行 除了我的data table有一个键列和多个值列 所以说我有以下内容 a b c 1 1 1 1 2 1 2 1 3 1 2 2 4 2 1 1 5 2 2 5 6 2 3