我有一个15k行和45列的数据帧(包括整数,日期,字符串,布尔值......)。
var1 var2 var3
FS 12 31.12.2016
BX 65 30.06.2016
BI 28 31.03.2016
FS 12 31.12.2016
其中一些行是相同的。我现在需要一个额外的列,其中包含某些类型的索引,这些索引具有相同的行,例如本例中的第1行和第4行:
index var1 var2 var3
1 FS 12 31.12.2016
2 BX 65 30.06.2016
3 BI 28 31.03.2016
1 FS 12 31.12.2016
我可以使用哈希函数,但这会破坏原始的行顺序。理想情况下,这将是一个越来越多的数字,如我的例子
我试过duplicated()
运气,但似乎主要用于重复数据删除
此外,我可以编写循环来比较所有行并导出正确的索引,但可能有一种更优雅的方法。
答案 0 :(得分:1)
您始终可以使用dplyr
library(dplyr)
df=data.frame(var1=c("FS","BX","BI","FS"),var2=c(12,65,28,12))
df2 = df%>%group_by(var1,var2)%>%mutate(index=row_number())%>%ungroup()