我有一个数据集,我想找到在整个数据集中仅出现一次的ID及其相应的行。
OrderTraffic1<-OrderTraffic[(duplicated(OrderTraffic$wayId, fromLast = FALSE)|
duplicated(OrderTraffic$wayId, fromLast = TRUE)),]
通过此代码,我删除了其中的wayId仅出现一次的行,但我想通过其他命令存储这些删除的值
答案 0 :(得分:0)
我们可以通过否定原始索引来提取索引
i1 <- (duplicated(OrderTraffic$wayId, fromLast = FALSE)|
duplicated(OrderTraffic$wayId, fromLast = TRUE))
i2 <- !i1
或者另一个选择是使用原始数据集的setdiff
,以获取不在“ OrderTraffic1”中的行
library(dplyr)
setdiff(OrderTraffic, OrderTraffic1)
# wayId val
#1 2 3
或使用fsetdiff
中的data.table
library(data.table)
fsetdiff(as.data.table(OrderTraffic), as.data.table(OrderTraffic1))
# wayId val
#1: 2 3
OrderTraffic <- data.frame(wayId = c(1, 1, 2, 3, 3), val = 1:5)