My data looks like below:
dat <- structure(list(col1 = c("a1", "a1", "a1", "a1", "a1", "a1", "a2", "a2", "a2", "a2", "a2", "a2", "a2", "a2", "a2", "a2"),
col2= c("te", "te", "au", "au", "sb", "sb", "te", "te", "te", "te", "te", "au", "au", "sb", "sb", "sb"),
col3 = c("ad", "ak", "ap", "tp", "ad", "cd", "mk", "ml", "an", "ad", "ak", "ap", "kk", "jj", "cd", "cp")),
.Names = c("col1", "col2", "col3"), row.names = c(NA, -16L), class = "data.frame")
dat
col1 col2 col3
1 a1 te ad
2 a1 te ak
3 a1 au ap
4 a1 au tp
5 a1 sb ad
6 a1 sb cd
7 a2 te mk
8 a2 te ml
9 a2 te an
10 a2 te ad
11 a2 te ak
12 a2 au ap
13 a2 au kk
14 a2 sb jj
15 a2 sb cd
16 a2 sb cp
I need to provide row index number based on unique column entries. For example, row1
and row2
has unique values in col1
and col2
. Values in col3
varies for these two rows. I want to put 1, and 2 as index number for these two rows. The output will be like this:
col1 col2 col3 rowind
1 a1 te ad 1
2 a1 te ak 2
3 a1 au ap 1
4 a1 au tp 2
5 a1 sb ad 1
6 a1 sb cd 2
7 a2 te mk 1
8 a2 te ml 2
9 a2 te an 3
10 a2 te ad 4
11 a2 te ak 5
12 a2 au ap 1
13 a2 au kk 2
14 a2 sb jj 1
15 a2 sb cd 2
16 a2 sb cp 3
I am trying to use match
functions. However, still not working.