【发布时间】:2021-08-31 10:51:20
【问题描述】:
我有一个包含数字和字符列的数据框,其中一些行是重复的。为了区分这些行,我想向重复行的每个“块”添加一个从 1:n 开始的序列号作为新列(在我的示例中称为“duplicateID”)。
我的数据集如下所示:
a = c("one", "one", "one", "one", "two", "two", "three", "four", "four", "four")
b = c(3.5, 3.5, 3.5, 2.5, 3.5, 3.5, 1, 2.2, 7, 7)
df1 <-data.frame(a,b)
>df1
a b
1 one 3.5
2 one 3.5
3 one 3.5
4 one 2.5
5 two 3.5
6 two 3.5
7 three 1.0
8 four 2.2
9 four 7.0
10 four 7.0
期望的输出是:
a = c("one", "one", "one", "one", "two", "two", "three", "four", "four", "four")
b = c(3.5, 3.5, 3.5, 2.5, 3.5, 3.5, 1, 2.2, 7, 7)
duplicateID = c(1, 2, 3, 1, 1, 2, 1, 1, 1, 2)
df2 <-data.frame(a,b,duplicateID)
>df2
a b duplicateID
1 one 3.5 1
2 one 3.5 2
3 one 3.5 3
4 one 2.5 1
5 two 3.5 1
6 two 3.5 2
7 three 1.0 1
8 four 2.2 1
9 four 7.0 1
10 four 7.0 2
提前谢谢大家!
【问题讨论】: