【发布时间】:2020-01-02 17:54:00
【问题描述】:
我有一个包含 10,555 行的数据集。在这个数据集中,我有许多分组的 ID。我只想要偶数个分组 ID,同时保留第一组的第一行。
有没有办法找到并删除每组 ID 中最后的所有奇数行? 此外,有没有办法对所有这些被删除的奇数行进行分组?
我试过这个:
数据
我没有得到想要的结果。
样本数据集:
ID TIME
AAA 12/18/2019 1:37:12 AM
AAA 12/18/2019 1:37:13 AM
AAA 12/18/2019 1:37:14 AM
BBB 12/18/2019 1:37:16 AM
BBB 12/18/2019 1:37:17 AM
BBB 12/18/2019 1:37:19 AM
期望的结果:
ID TIME
AAA 12/18/2019 1:37:12 AM
AAA 12/18/2019 1:37:13 AM
BBB 12/18/2019 1:37:16 AM
BBB 12/18/2019 1:37:17 AM
移除奇数行: AAA 2019 年 12 月 18 日凌晨 1 点 37 分 14 秒 BBB 2019 年 12 月 18 日上午 1:37:19
任何帮助都会有所帮助。我还在研究这个。谢谢
【问题讨论】:
-
在这里,您要删除每个 ID 的最后一行?
data %>% group_by(ID) %>% slice(-n()) -
你如何定义奇数?对我来说,每个“ID”的行号 1、3、5,... 都是奇数,但在您的预期中,您不会删除第一个
-
是的,你是对的。我很抱歉。我想知道是否可以在 R 中找到并删除每个分组 ID 中的最后一个奇数行。我正在计算持续时间,我想保留第一个值。最后被丢弃的奇数行将包含在以后分析的计算中。
-
在这种情况下,我发布的解决方案应该可以工作
-
是的,我现在正在尝试。谢谢你