Take this data frame for example:
DT <- data.table(A = rep(1:3, each=4), 
                 B = rep(c(NA,1,2,4), each=3), 
                 C = rep(1:2, 6))
I want to append a column that assign index to unique combinations of A and B, but ignore C. I also want another column that count the number of duplicates, that looks like this:
    A  B C Index Count
 1: 1 NA 1     1     3
 2: 1 NA 2     1     3
 3: 1 NA 1     1     3
 4: 1  1 2     2     1
 5: 2  1 1     3     2
 6: 2  1 2     3     2
 7: 2  2 1     4     2
 8: 2  2 2     4     2
 9: 3  2 1     5     1
10: 3  4 2     6     3
11: 3  4 1     6     3
12: 3  4 2     6     3
I don't want to trim the data frame and (preferably)I don't want to reorder the rows. I tried setDT, such as
setDT(DT)[,.(.I, .N), by = names(DT[,1:2])]
But the I column is not the index I want, and Column C is gone. Thanks in advance!