如何按组仅保留特定列中具有最低和最高值的行?

2024-04-09

简而言之,我该怎么办?

structure(list(id = c(1, 2, 3, 4, 5, 6), user = c(1, 1, 1, 2, 
2, 2), value = c(1, 3, 5, 2, 5, 9)), .Names = c("id", "user", 
"value"), row.names = c(NA, -6L), class = "data.frame")

to this?

structure(list(id = c(1, 3, 4, 6), user = c(1, 1, 2, 2), value = c(1, 
5, 2, 9)), .Names = c("id", "user", "value"), row.names = c(NA, 
-4L), class = "data.frame")

意思是,对于每个用户,只需要保留最低和最高对应的两行value.

我想要一个使用的解决方案dplyr, 如果可能的话。否则,任何解决方案都可以。


我们可以用slice with which.min/which.max按“用户”分组后

library(dplyr)
df1 %>%
   group_by(user) %>%
   slice(c(which.min(value), which.max(value)))
#   id  user value
#  <dbl> <dbl> <dbl>
#1     1     1     1
#2     3     1     5
#3     4     2     2
#4     6     2     9

或者另一个选择是arrange with slice。按“用户”分组后,arrange每个“用户”的“值”按升序排列,并且slice第一行和最后一行

df1 %>% 
     group_by(user) %>%
     arrange(value) %>% 
     slice(c(1, n()))

如果有联系min and/or max“价值”并希望保留所有min and max行,使用filter

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

如何按组仅保留特定列中具有最低和最高值的行? 的相关文章

  • Shiny:从DT数据表中选定的行获取信息

    我们正在尝试重新创建示例 https demo shinyapps io 029 row selection https demo shinyapps io 029 row selection 使用DT包来渲染数据帧而不是shiny包 DT
  • 将模式的所有元素与向量以相同的顺序匹配

    我创建了一个函数yes seq需要两个参数 一个模式pat和数据dat 该函数以相同的顺序查找数据中是否存在模式 例如 dat lt letters 1 10 dat 1 a b c d e f g h i j pat lt c a c g
  • 如何将数据从长格式重塑为宽格式

    我在重新排列以下数据框时遇到问题 set seed 45 dat1 lt data frame name rep c firstName secondName each 4 numbers rep 1 4 2 value rnorm 8 d
  • 使用 R Markdown 文档作为函数源

    我正在研究 R Markdown 来记录我经常使用的功能 我会将它们放入 R Markdown 文件中以记录它们 然后如果我几个月后回来查看它 就能够阅读我在函数背后的想法 我的问题是 如果我开始一个新的 R 项目 是否可以获取 r mar
  • 如果值大于或小于,则替换数据框中的值

    我在 R 中操作数据帧时遇到问题 这是 R 中的基本内容 但我找不到执行此类操作的最佳命令 虚拟示例 Var1 20 300 39 Var2 49 23 91 Var3 0 239 210 我怎样才能用10如果值小于 则在第 2 列中10
  • ggplot2 中的中心图标题

    这个简单的代码 以及今天早上我的所有脚本 已经开始在 ggplot2 中给我一个偏离中心的标题 Ubuntu version 16 04 R studio version Version 0 99 896 R version 3 3 2 G
  • ggplot2 + 使用比例 X 的日期结构

    我真的需要帮助 因为我已经迷路了 我正在尝试创建一个折线图 显示几个团队一年来的表现 我将一年分为几个季度 2012 年 1 月 1 日 2012 年 4 月 1 日 2012 年 8 月 1 日 12 1 12 并将 csv 数据帧加载到
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • R中data.frame(列表)的列平均值

    Data https i stack imgur com ZYsmv jpg 请 我需要计算此 data frame 中维吉尼亚币 Sepal Length 列的平均值 Sepal Length Sepal Width Petal Leng
  • 如果落在 R 中另一个数据集中的两个变量定义的范围内,则从一个数据集中获取变量值

    我有一个关于 R 中日期操作的问题 我已经查了好几天了 但在网上找不到任何帮助 我有一个数据集 其中有 id 和两个日期 另一个数据集具有相同的 id 变量 日期和价格 例如 x data frame id c A B C C date1
  • 如何在有条件的情况下获得R中多列的中位数(根据另一列)

    我是 R 初学者 我想知道如何完成以下任务 我想用数据集所有列的中位数替换数据集的缺失值 但是 对于每一列 我想要某个类别的中位数 取决于另一列 我的数据集如下 structure list Country structure 1 5 La
  • data.table 查找值并翻译

    像许多人一样 我是 R 新手 我有一个大数据集 500M 行 我已将其读取到 data table 中logStats其中有如下数据 head logStats 15 time pid mean 1 2014 03 10 00 00 00
  • 为特定 ID 重新编码列中的观察结果

    我有一个数据集 称为 调查 其中有行是个人 ID 列中有许多问题 我需要将 1 列中的值重新编码为 NA 并将观察结果移至另一列 例如 ID Fruit Vegetable aaa NA grape bbb NA tomato ccc ap
  • 按新年拆分日期行

    我有来自一家医院的包含许多变量的数据 以及每行的起始日期和截止日期 这告诉我们每行何时 有效 每行的有效期最长为一年 test data frame ID c 10 10 10 12 12 Disease c P P P D P Pass
  • 使用栅格包下载 SRTM 数据?

    我正在尝试使用 获取 SRTM 数据 raster R 中的包 但一旦我选择SRTM在 getData 命令中 我会收到以下错误 library raster srtm lt getData SRTM lon 16 lat 48 tryin
  • 使用 ggplot 为各个图例值选择所选颜色(HSV 或 HCL 或 RGB)

    我有一个类似这样的数据集 data lt read table text Me EE PE DE TE DEE CE 1 1 1 4 5 2000 0 50 0 2547 0 69 2 1 2 2 4 3000 NA 0 5896 2 56
  • R中的for循环和if函数

    我正在用 R 中的 if 函数编写一个循环 表格如下 ID category 1 a 1 b 1 c 2 a 2 b 3 a 3 b 4 a 5 a 我想使用 for 循环和 if 函数添加另一列来计算每个分组的 ID 如下所示的计数列 I
  • 从 SpatialPolygons 和其他 sp 类中提取要素坐标

    Package sp为不同的空间概念 点 线 多边形 提供了许多类 对于某些类 访问要素坐标很简单 例如SpatialLines 所有示例均取自相应课程的帮助页面 l1 cbind c 1 2 3 c 3 2 2 l1a cbind l1
  • 从拟合的 lm 或 glm [R] 获取每个因子水平(以及交互作用)的数据数量

    我在 R 中有一个逻辑回归模型 其中所有预测变量都是分类变量而不是连续变量 除了响应变量 它显然也是分类 二元变量 打电话时summary model name 有没有办法在每个因子水平中包含一个表示观测值数量的列 我在 R 中有一个逻辑回
  • R - 加速近似日期匹配。 idata.frame?

    我正在努力有效地执行两个数据帧之间的 关闭 日期匹配 这个问题探索了一个解决方案 使用idata frame来自plyr包 但我也对其他建议的解决方案感到非常满意 这是两个数据框的非常简单的版本 sampleticker lt data f

随机推荐

  • 开始VSTO开发

    我很困惑有哪些必要的工具VSTO http en wikipedia org wiki http en wikipedia org wiki Visual Studio Tools for Office发展 具体来说 我想以编程方式操作 E
  • 使用 BufferedReader 读取文本文件

    我在使用 BufferedReader 时遇到问题 我想打印一个文本文件的 6 行 public class Reader public static void main String args throws IOException Fil
  • Jenkinsfile - 匹配多个标签的代理

    在我的声明性管道中 我需要选择一个匹配 2 个标签的节点 我尝试过这样的事情 agent label label1 label2 但我收到一个错误there are no nodes 我有一个有 2 个标签的节点label1 and lab
  • 在 HtmlAgilityPack loadhtml 中丢失“小于”符号

    我最近开始尝试 HtmlAgilityPack 我不熟悉它的所有选项 因此我认为我做错了 我有一个包含以下内容的字符串 string s span lt span 你看 在我的范围内 我有一个 小于 符号 我使用以下代码处理该字符串 Htm
  • 在支持库 23.2.1 中找不到 abc_ic_ab_back_material 资源

    更新android支持库后23 2 0 to 23 2 1有一个错误R drawable abc ic ab back material未找到 版本更新后使用的资源是什么23 2 1 经过一段时间的研究 我发现在版本中23 2 1谷歌再次推
  • 如何在 TypeScript 中执行字符串插值?

    C 使用字符串插值 int value 100 Console WriteLine The size is value Output 尺寸为100 如何在 TypeScript 中做同样的事情 在 JavaScript 中你可以使用模板文字
  • 这个似乎链接 lambda 的 C++14 构造叫什么?

    这是对此问题的后续问题 C 14 中的 Lambda 之上的 Lambda https stackoverflow com questions 25618934 lambda over lambda in c14 其中答案解释了代码 它是关
  • RestSharp 可以在 POST 请求中发送 List 吗?

    我想得到休息锐利 https github com restsharp RestSharp享受我拥有的令人安心的服务 一切似乎都工作正常 除了当我的对象通过POST包含一个列表 在这种特殊情况下是一个列表string 我的对象 public
  • 使用 BindingExpression 调用具有 ValidationStep="UpdatedValue" 的 ValidationRule,而不是更新值

    我开始在 WPF 应用程序中使用 ValidationRules 但很困惑 我有以下简单的规则 class RequiredRule ValidationRule public override ValidationResult Valid
  • 正则表达式 PHP。减少步骤:受固定宽度 Lookbehind 限制

    我有一个正则表达式将用于匹配 users 标签 我使用 lokarround 断言 让标点符号和空白字符包围标签 还有一个额外的复杂性 有一种代表 html 的 bbcode 我有两种类型的 bbcode 内联 B bold b 和块 C
  • 为什么这个方法不起作用呢? Java 三元运算符

    这段代码有什么问题 void bark boolean hamlet hamlet System out println To Bark System out println Not to Bark 三元运算符不能有不返回值的语句 void
  • 使延迟作业在特定日期时间运行

    我想通过以下方式发送一些电子邮件delayed job 但是 我想在活动之前和之后发送它们 我担心的是这是否真的有效 def one week before run AtendeeMailer delay run at 8th Octobe
  • Powershell Clear-Host 保留缓冲区的替代方案

    我想要像 Clear Host 这样的东西 但想要回滚 到目前为止 我所做的基本上就是添加换行符 直到屏幕清晰为止 尽管当我这样做时 光标开始在页面底部书写 正如预期的那样 尽管不是期望的 我希望从页面顶部开始书写 对于菜单等 这是很自然的
  • jQuery:将元素类型从隐藏更改为输入

    我有一个输入 其类型设置为隐藏 我需要将其类型更改为文本 似乎无法弄清楚这一点 或者是否可以使用 jQuery 使用 jQuery 1 4 您可以在分离时更改输入的类型 marker span span insertBefore myInp
  • 使用 Xamarin Android 连接到蓝牙扫描仪

    我正在开发一个项目 需要连接到蓝牙扫描仪 摩托罗拉 CS3070 我需要捕获输入流并使用它用扫描的条形码填充列表框 我尝试创建一个安全套接字并连接到它 但套接字无法连接 设备已打开并已配对 它充当物理键盘 如果光标位于可编辑字段中 则会填充
  • AngularJS ngMessages 无法绑定到 $index 表达式

    我正在构建一个 Angular 表单 它需要在一个内部可重复的表单元素ngRepeat
  • Blender 与 Unity [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • windows 8 App从App.xaml.cs访问页面方法

    可能是一个愚蠢的问题 所以我提前道歉 我是构建 Windows 8 应用商店应用程序的新手 当应用程序暂停时 我需要在页面脚本上运行一些方法 我只有一个页面 并且 Page1 xaml cs 文件中有一些公共方法 我想从 App xaml
  • 开发网站时如何处理不同的屏幕分辨率/屏幕尺寸?

    我想使用 jQuery 开发一个适用于所有主流浏览器的网站 我想从基本布局开始 一个页眉 几个包含内容的选项卡和页脚 我想知道应该如何创建这个布局来支持不同的屏幕分辨率 屏幕尺寸或窗口尺寸 在定义组件的宽度和高度时 我应该使用像素 点 百分
  • 如何按组仅保留特定列中具有最低和最高值的行?

    简而言之 我该怎么办 structure list id c 1 2 3 4 5 6 user c 1 1 1 2 2 2 value c 1 3 5 2 5 9 Names c id user value row names c NA 6