如何在r-newbie中标记重复值

如何在r-newbie中标记重复值,r,duplicates,flags,R,Duplicates,Flags,我试图在另一列中标记重复的ID。我不一定要删除它们,只需创建一个标识(0/1),标识是唯一的还是重复的。在sql中,它是这样的: 选择ID,count(ID)count从表按ID分组a 在表上ID=a.ID 设置ID重复标志列1=1 其中count>1 有没有一种方法可以简单地在r中实现这一点? 任何帮助都将不胜感激。作为重复的示例,让我们从一些值开始(这里是数字,但字符串也可以) 如果要标记所有出现两次或多次的值 as.numeric(x %in% x[duplicated(x)]) # 0

我试图在另一列中标记重复的ID。我不一定要删除它们,只需创建一个标识(0/1),标识是唯一的还是重复的。在sql中,它是这样的:

选择
ID
,count(
ID
)count从
ID
分组a 在
表上
ID
=a.
ID
设置
ID重复标志列1
=1 其中count>1

有没有一种方法可以简单地在r中实现这一点?
任何帮助都将不胜感激。

作为重复的
示例,让我们从一些值开始(这里是数字,但字符串也可以)

如果要标记所有出现两次或多次的值

as.numeric(x %in% x[duplicated(x)])
# 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0

检查
?重复的
。就像@RonakShah说的那样。您还可以使用
rle
。这是否回答了您的问题?好吧,我真的不知道该怎么写,或者这是否真的给了我想要的?我有近100万条记录,我只想标记“唯一”id是否重复(即,一列数据,而不是整行)。我尝试了下面的方法,我想这让我非常接近,但是我得到一个错误,说“替换有xxx行,数据有xxx行”)data$DupeFlagColumn[!duplicated(data$Column)]
as.numeric(duplicated(x))
# 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0
as.numeric(x %in% x[duplicated(x)])
# 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0