I have a data frame in which I want to add an index e.g. 1...n for each factor in my data frame. Here is an example with some dummy data.
factor a a
In base R using sequence and table:
sequence
table
df$index <- sequence(table(df$factor)) # factor index # 1 a 1 # 2 a 2 # 3 a 3 # 4 a 4 # 5 a 5 # 6 b 1 # 7 b 2 # 8 b 3 # 9 b 4 # 10 b 5 # 11 c 1 # 12 c 2 # 13 c 3 # 14 c 4
Data
df <- data.frame(factor=factor(rep(letters[1:3], times = c(5,5,4))))