返回组的第一行

2023-12-20

我有一个数据框,其中包含ID,这对于组中的每个元素、两个日期时间以及这两个时间间隔都是相同的。日期时间对象之一是我的相关时间标记。现在我想获取数据帧的子集,其中包含每个组的最早条目。条目(尤其是时间间隔)需要保持不变。

我的第一个方法是根据 1. ID 和 2. 相关日期时间对框架进行排序。但是,我无法返回每个新组的第一个条目。

然后我一直在看aggregate()ddply()函数,但我在两者中都找不到仅返回第一个条目而不将聚合函数应用于时间间隔值的选项。

有没有一种(简单的)方法来实现这一点?

添加: 也许我通过添加aggregate()和ddply()注释不清楚。我不一定需要聚合。考虑到数据帧的排序方式是每个新组的第一行是我要查找的行,因此只需返回一个子集,其中每行的 ID 与之前的 ID 不同(即每个新组的起始行)。

示例数据:

structure(list(ID = c(1454L, 1322L, 1454L, 1454L, 1855L, 1669L, 
1727L, 1727L, 1488L), Line = structure(c(2L, 1L, 3L, 1L, 1L, 
1L, 1L, 1L, 1L), .Label = c("A", "B", "C"), class = "factor"), 
    Start = structure(c(1357038060, 1357221074, 1357369644, 1357834170, 
    1357913412, 1358151763, 1358691675, 1358789411, 1359538400
    ), class = c("POSIXct", "POSIXt"), tzone = ""), End = structure(c(1357110430, 
    1357365312, 1357564413, 1358230679, 1357978810, 1358674600, 
    1358853933, 1359531923, 1359568151), class = c("POSIXct", 
    "POSIXt"), tzone = ""), Interval = c(1206.16666666667, 2403.96666666667, 
    3246.15, 6608.48333333333, 1089.96666666667, 8713.95, 2704.3, 
    12375.2, 495.85)), .Names = c("ID", "Line", "Start", "End", 
"Interval"), row.names = c(NA, -9L), class = "data.frame")

通过复制示例数据帧并对其进行测试,我找到了一种获得所需结果的方法:

  1. 按相关列(ID、开始)排序数据

    ordered_data <- data[order(data$ID, data$Start),]

  2. 查找每个新 ID 的第一行

    final <- ordered_data[!duplicated(ordered_data$ID),]

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

返回组的第一行 的相关文章

  • 将一个 Rmarkdown 文档中的代码块插入到另一个 Rmarkdown 文档中

    我一直在举办一些小型 R 教程 研讨会 我将 挑战脚本 保存在 Rmarkdown 文档中 它们包含自由文本和 R 代码块 一些代码块是预先填充的 例如 为了设置数据集以供以后使用 而一些代码块则供与会者在研讨会期间填写代码 对于每个挑战脚
  • R strsplit之前(和之后)保留两个分隔符

    我有一个如下所示的字符串 x lt 01 01 121210 01 0001 我想将其分成一个向量 以便得到以下内容 1 0 1 01 1 2 1 2 1 0 01 0 0 0 1 可以是 或 括号之间的位数可以是 2 个或更多 我一直试图
  • 在R中重新排序字母数字年龄组

    假设这就是 R 给我的 df1 data frame grp c lt 2 2 5 21 26 27 32 6 10 val rep 0 5 grp val 1 lt 2 0 2 2 5 0 3 21 26 0 4 27 32 0 5 6
  • 从上一列中减去一列

    样本数据 dfData lt data frame ID c 1 2 3 4 5 DistA c 10 8 15 22 15 DistB c 15 35 40 33 20 DistC c 20 40 50 45 30 DistD c 60
  • 使用 dplyr 通过管道删除空列

    我有一个宽格式的参与者问卷答复数据框 每列代表一个特定的问题 项目 数据框看起来像这样 id lt c 1 2 3 4 Q1 lt c NA NA NA NA Q2 lt c 1 4 5 Q3 lt c NA 2 3 4 Q4 lt c 2
  • 读取 csv 文件时出错

    我有一个 xlsx 文件 为了从 Rstudio 读取 我将其保存为 csv 文件 现在 当我尝试从 Rstudio 读取文件时 收到以下错误 setwd D DATA SCIENCE CCPP Linear regression ccpp
  • 如何修剪 R 向量?

    我有以下排序向量 gt v 1 1 0 1 2 4 5 2 3 4 5 7 8 5 6 7 8 10 11 如何删除 1 0 和 11 条目无需循环整个向量 使用用户循环还是隐式使用语言关键字 也就是说 我想修剪每个向量edge并且仅在每个
  • scale_y_discrete 忽略中断/标签

    漏洞 可能相关对此 https github com tidyverse ggplot2 issues 1589 dat data frame x 1 4 y ordered c 4 gt 5 1 1 levels c 1 5 gt 5 g
  • Predict.randomForest 中的错误

    我希望有人能够帮助我解决 R 中 randomForest 包的预测函数遇到的问题 当我尝试预测测试数据时 我不断收到相同的错误 到目前为止 这是我的代码 extractFeatures lt function RCdata feature
  • Rmpi:mclapply:在 selectChildren(ac, 1) 中:选择中出现“系统调用中断”错误

    以下最小示例 require Rmpi set seed 1 foo lt parallel mclapply seq len 10 function l lapply 1 10 function x mean rnorm 10000 me
  • 将代表扩展到矩阵?

    如果你打电话rep在矩阵上 它重复其元素而不是整个矩阵 传统的修复方法是调用rep list theMatrix 我想延长rep以便它自动执行此操作 我尝试使用 rep matrix lt function x rep list x 这确实
  • 是什么导致我的运行时间比用户时间长得多?

    我正在对一些 R 语句进行基准测试 查看详细信息here https stackoverflow com questions 13685295 descending sort in data table and speed 并发现我的运行时
  • 有什么方法可以在地图上绘制多个条形图吗?

    我正在尝试在地图上绘制多个条形图 并且只是在寻找一个起点 我已经看过几个问题了 如下所示 地图上的条形图 https stackoverflow com questions 20465070 barplots on a map 使用ggpl
  • 无法在 rstudio 中启动 pandoc

    我不能再使用 knitr 无论是 html 还是 pdf 每次我下订单 knit 时都会得到这个结果 Error in system paste shQuote pandoc path version intern TRUE CreateP
  • 用 R 代码编写 Householder QR 分解函数

    我正在编写一段代码来查找 R 中矩阵的 QR 分解 X lt structure c 0 8147 0 9058 0 127 0 9134 0 6324 0 0975 0 2785 0 5469 0 9575 0 9649 0 1576 0
  • 计算数据中的连续条纹

    我正在尝试计算数据集中的最大连胜和连败 即连续正值或负值的最大数量 我发现了一个有点相关的问题 https stackoverflow com questions 1504832 help me replace a for loop wit
  • 正确许可包含其他 MIT 代码的 R 包

    希望获得有关我创建的 R 包许可的一些智慧和指导 我的包裹 针织进度条 https github com rmflight knitrProgressBar 撕掉dplyr progress estimated内部功能本质上是它自己的 包
  • 如何使用 R 中的 dplyr 包在列中保留具有相同值的行?

    我想知道如何使用过滤列中具有相同值的行dplyr包裹 我尝试做一些与本文中要求和建议相反的事情question https stackoverflow com questions 46906630 filtering rows where
  • R:在因素对之间进行 t 检验

    我有一个 R 数据框 其中因子变量有 8 个级别 有序 我想在级别 1 和 2 3 和 4 5 和 6 以及 7 和 8 之间进行 t 检验 虽然我可以对数据进行子集化以提取每对类别 但我想知道是否有更简单的方法它 想不通 尝试了以下方法
  • 在 R 上使用 Java 16 运行 H2O

    我使用 R 命令安装了 h2o install packages h2o 这促使我安装了最新版本的 Java 我安装了 版本 16 一切都运行得很好 除了在启动时 h2o 会提醒我从 h2o ai 网站安装最新版本的 h2o 因为该版本是用

随机推荐

  • 如何获取(内置)麦克风的硬件信息?

    当用户在我的网站上录制音频文件时 是否可以读取 内置 麦克风的硬件信息 至少是名称 JavaScript 可以做到这一点吗 或者有其他方法可以解决这个问题吗 我在网上搜索但只能找到用 JavaScript 录制的脚本 新版本 可在 Fire
  • 如何使用 C# 确定屏幕宽度/高度

    我想设置a的宽度和高度Window动态地基于用户屏幕的最大宽度 高度 我如何以编程方式确定这一点 对于主屏幕 System Windows SystemParameters PrimaryScreenWidth System Windows
  • 如何从单个 uitableViewcell 获取多个按钮?

    我正在做一个测验tableView有 4 个按钮 选项 我将它们标记在故事板上 例如 201 202 203 204 并成功地将它们全部放入tableView方法 但是将目标添加到按钮后 我无法在其中获取特定按钮buttonClicked
  • 使用 Popen.wait() 时重现死锁

    从文档中使用Popen wait https docs python org 2 library subprocess html subprocess Popen wait may 使用 stdout PIPE 和 或 stderr PIP
  • 如何在 IntelliJ 中设置 sql 方言

    我正在使用 IntelliJ 2017 我想为 sql 文件设置 SQL 方言 创建文件后 顶部有一条消息 指出未设置该文件的 SQL 方言 当我单击 将方言更改为 链接时 它会打开 SQL 方言菜单 右侧有一个下拉链接可以选择方言 但下拉
  • pytz 和 astimezone() 不能应用于简单的日期时间

    我有一个约会 我需要让它知道时区 local tz timezone Asia Tokyo start date 2012 09 27 start date datetime strptime start date Y m d start
  • 如何将波浪数据转换为复数

    我正在从麦克风读取原始数据并输入 FFT 我正在尝试的两个 FFT 库 AForge http code google com p aforge and 外皮质 http www exocortex org dsp 将复数作为输入并给出复数
  • 将计算机设置为通过 ps/2、usb 或其他有线连接连接到另一台计算机的 HID 设备

    我有兴趣设置一台机器 主机 A 并通过 USB 或 ps 2 将其连接到另一台机器 主机 B 以便主机 B 将主机 A 识别为键盘 在主机 A 上 运行着一个人工神经网络 它会动态生成输入序列 对我来说很重要的是 主机 A 只能以 人类 方
  • 将全角标点字符替换为正常宽度的等效字符[重复]

    这个问题在这里已经有答案了 file1包含一些 s 这是全角 我想变成常规 s 这是我们常用的冒号 我如何在 bash 中执行此操作 也许是一个Python脚本 恕我直言 python不是适合这项工作的工具 perl is perl CSA
  • 如何在自动映射器中将字符串映射到日期?

    我有一个有效日期的字符串 但它是一个字符串并且它需要是一个字符串 但是 当我尝试将其自动映射到日期时间时 它会引发异常 Trying to map System String to System DateTime Trying to map
  • 谁提出了“DIANA 节点”这个术语?他们是如何计算出 6,000,000 LOC 大约是 67108864 (2**26) 个 DIANA 节点? [复制]

    这个问题在这里已经有答案了 在共享内存池中 有包规范 对象类型规范 独立子程序或匿名块限制为 67108864 2 26 DIANA 节点对应于标识符等令牌 关键字 运算符等 戴安娜代表什么 我知道完整的表格 但它到底是什么 我已经提到过戴
  • Docker 上的 Wordpress:无法在已安装的卷上创建目录

    这是 Wordpress Docker 容器中路径中的原始文件 var www html docker exec 5b957c7b9c5ad054883694afbfb80d3c9df6707458d55011f471be0701f3890
  • 获取 sscanf 读取的字符数?

    我正在解析一个字符串 achar 并且我正在使用sscanf将字符串中的数字解析为双精度数 如下所示 char expression double value 0 sscanf expression lf value 这很好用 但我想继续通
  • 使用RestKit,使用块加载对象,何时以及如何取消请求?

    RKObjectManager sharedManager loadObjectsAtResourcePath app site pattern usingBlock RKObjectLoader loader loader setObje
  • 类型 types.Transactions 没有字段或方法 GetRlp

    我正在尝试在 go ethereum 中创建原始交易 并发现了一些我正在修改的教程代码 错误是 transaction raw create go 65 18 ts GetRlp undefined type types Transacti
  • 如何在java fx中每2秒更新一次标签框?

    我正在尝试在应用程序 GUI 中模拟基本恒温器 我想每 2 秒更新一次标签框值与新的温度值 例如 我的初始温度将显示为 68 度 并每 2 秒更新为 69 度 70 度等 直到 75 度 这是我用Java fx写的一段代码 controlp
  • 自动确定图例的位置

    您可以在大多数绘图程序中手动定位关键图例 例如 在 gnuplot 中 它是使用set key top right 在ggplot2中 就完成了像这样 https stackoverflow com questions 2954005 ho
  • 我是否在 RHEL 上正确安装了 Ruby 1.9.3?

    在你说之前yum y install ruby193 我就是这么做的 请注意 我不是 Ruby 开发人员 但需要将此程序作为其他开发人员通过 Web 服务工作的一部分 他没空 任何帮助将不胜感激 我尝试按照说明安装库并得到 root ctb
  • JQuery 检测底部滚动

    我希望在用户滚动到页面底部时实现内容加载 我遇到问题了 它在桌面浏览器上运行良好 但在移动设备上则不然 我已经实施了一个肮脏的修复程序 使其可以在 iPhone 上运行 但并不是最佳的 因为它无法在其他尺寸的移动设备上运行 我的网站是 ww
  • 返回组的第一行

    我有一个数据框 其中包含ID 这对于组中的每个元素 两个日期时间以及这两个时间间隔都是相同的 日期时间对象之一是我的相关时间标记 现在我想获取数据帧的子集 其中包含每个组的最早条目 条目 尤其是时间间隔 需要保持不变 我的第一个方法是根据