如何识别和标记特定列中的重复数据
Posted
技术标签:
【中文标题】如何识别和标记特定列中的重复数据【英文标题】:How to identify and mark duplicate data in a specific column 【发布时间】:2022-01-17 23:49:06 【问题描述】:我有一个数据集,其中包含不同列中的一些重复 ID 和日期。我正在尝试识别和标记重复的 ID,以便我可以使用 ifelse 语句进一步分解此数据集。
Sample of data set
如果您查看数据,您会看到在Case: Case Number
列中,有一个重复的ID。在Questionnaire: Created Date
列中,日期不同。我基本上希望能够识别“案例编号”列中的重复项目,并判断“日期”列中的日期是不同还是相同。如果我什至能弄清楚如何做一个 ifelse 语句来帮助我标记重复的数字,那就太棒了。我只是不确定如何进行。最终目标是删除具有相同日期的重复项。有什么想法吗?
【问题讨论】:
请不要发布代码/数据/错误的图像:它会破坏屏幕阅读器并且无法复制或搜索(参考:meta.***.com/a/285557 和 xkcd.com/2116)。请直接包含代码、控制台输出或数据(例如,data.frame(...)
或来自dput(head(x))
的输出)。
或许complete.cases(x[,c(5,7)])
?
【参考方案1】:
这是一个例子
library(lubridate)
library(dplyr)
x = data.frame(ID = c(1,1,2,3), date = as_date(c(1,1,2,4))) %>%
group_by(ID,date) %>%
mutate(duplicated = n() > 1)
输出
ID date duplicated
<dbl> <date> <lgl>
1 1 1970-01-02 TRUE
2 1 1970-01-02 TRUE
3 2 1970-01-03 FALSE
4 3 1970-01-05 FALSE
【讨论】:
以上是关于如何识别和标记特定列中的重复数据的主要内容,如果未能解决你的问题,请参考以下文章