I want to add ID variable in this data. If receipt_ids are sequenced numbers, then those have same IDs.
CUST_NO_ID receipt_id dollar
12 29
Assuming your data frame has already been sorted by CUST_NO_ID
and receipt_id
, you can use cumsum
on a conditional vector where TRUE indicates the position a new ID should be created:
df$ID = cumsum(c(T, diff(df$receipt_id) != 1 | diff(df$CUST_NO_ID) != 0)))
df
# CUST_NO_ID receipt_id dollar ID
#1 12 29 20.84 1
#2 12 30 20.21 1
#3 12 86 24.50 2
#4 12 87 20.68 2
#5 12 108 25.79 3
#6 12 109 24.93 3
#7 12 125 20.63 4
#8 12 126 9.90 4
#9 19 193 69.48 5
#10 19 194 46.88 5