有没有一种方法可以定位并删除R中分组ID的奇数行?

有没有一种方法可以定位并删除R中分组ID的奇数行?,r,dplyr,R,Dplyr,我有一个包含10555行的数据集。在这个数据集中,我有许多分组ID。我只需要偶数个分组ID,同时保留第一个组的第一行 是否有方法查找并删除每组ID中最后的所有奇数行? 此外,有没有办法将所有这些被删除的奇数行分组 我试过这个: 数据如果我们希望为偶数行保留每个“ID”的行,在执行group by之后,在切片中创建一个条件以返回偶数行 library(dplyr) data1 <- data %>% group_by(ID) %>% s

我有一个包含10555行的数据集。在这个数据集中,我有许多分组ID。我只需要偶数个分组ID,同时保留第一个组的第一行

是否有方法查找并删除每组ID中最后的所有奇数行? 此外,有没有办法将所有这些被删除的奇数行分组

我试过这个:


数据如果我们希望为偶数行保留每个“ID”的行,在执行group by之后,在
切片中创建一个条件以返回偶数行

library(dplyr)
data1 <- data %>%
           group_by(ID) %>%
           slice(if(n()%% 2 == 0) row_number() else seq_len(n()-1))

在这里,您要删除每个ID的最后一行吗<代码>数据%>%分组依据(ID)%>%切片(-n())
如何定义奇数?对我来说,行数1,3,5。。。每个“ID”都是奇数,但在您的预期中,您没有删除1,您是正确的。我道歉。我想知道是否有可能在R中找到并删除每个分组ID中的最后一个奇数行。我正在计算持续时间,我希望保留第一个值。在以后的分析中,最后丢弃的奇数行将包括在计算中。在这种情况下,我发布的解决方案应该有效。是的,我现在正在尝试。非常感谢您好,这个命令是否在这个大数据集中定位奇数行,然后删除?我现在就试试这个。许多的thanks@TanishaHudson您的示例和预期输出似乎令人困惑。如果你想删除奇数行,我不明白为什么第一行没有删除我的道歉。我会澄清。非常感谢。
                    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
library(dplyr)
data1 <- data %>%
           group_by(ID) %>%
           slice(if(n()%% 2 == 0) row_number() else seq_len(n()-1))
anti_join(data, data1)