在R中,可以使用duplicated()
函数来查找和标记重复的行。该函数返回一个逻辑向量,指示每一行是否是重复的。为了给重复的行添加序列号,可以使用ave()
函数来计算每个重复组的序列号。
下面是一个完整的示例代码:
# 创建一个包含重复行的数据框
df <- data.frame(
id = c(1, 2, 3, 3, 4, 5, 5),
name = c("John", "Jane", "Bob", "Bob", "Alice", "Tom", "Tom")
)
# 使用duplicated()函数查找重复行
is_duplicate <- duplicated(df)
# 使用ave()函数为重复行添加序列号
df$sequence <- ave(is_duplicate, is_duplicate, FUN = cumsum)
# 打印结果
print(df)
输出结果如下:
id name sequence
1 1 John 0
2 2 Jane 0
3 3 Bob 0
4 3 Bob 1
5 4 Alice 0
6 5 Tom 0
7 5 Tom 1
在这个例子中,我们创建了一个包含重复行的数据框df
。然后,我们使用duplicated()
函数找到重复的行,并将结果存储在is_duplicate
向量中。接下来,我们使用ave()
函数为每个重复组添加序列号,将结果存储在df$sequence
列中。最后,我们打印出结果。
这个方法可以用于任何包含重复行的数据框,并且不依赖于特定的数据结构或数据类型。它可以帮助我们快速识别和处理重复的数据。
领取专属 10元无门槛券
手把手带您无忧上云