【发布时间】:2022-01-02 05:25:36
【问题描述】:
背景
我有d,一个数据框:
d <- data.frame(ID = c("a","a","a","a", "b","b"),
event = c("G12","G12","O99","O99","B4","B2"),
date = as.Date(c("2011-01-01","2011-01-01","2011-12-23","2011-12-23","2011-01-01","2011-07-12")),
stringsAsFactors=FALSE)
如您所见,ID a 有 4 行,其中 2 行是基于 event 和 date 的重复(第 2 行和第 4 行是重复的)。
问题和期望的输出
我想通过要求R 删除ID 中具有相同event 和date 的行来删除这些重复行。换句话说,我想要看起来像这样的东西:
d <- data.frame(ID = c("a","a", "b","b"),
event = c("G12","O99","B4","B2"),
date = as.Date(c("2011-01-01","2011-12-23", "2011-01-01","2011-07-12")),
stringsAsFactors=FALSE)
我的尝试
我已经尝试过了,但还没有:
d2 <- subset(d, duplicated(d$ID, d$event))
有什么想法吗?
【问题讨论】:
-
你需要
d[!duplicated(d[1:2]),],duplicated-x是单个参数。如果需要单独指定,请使用d %>% distinct(ID, event, .keep_all = TRUE) -
我现在有一个小时的电话,但我一回到我的办公桌就试试这个。谢谢。
标签: r dplyr duplicates data.table