У меня большой набор данных совпадающих пар (id1 и id2), и я хотел бы создать индексную переменную, чтобы я мог объединить эти пары в строки.
Таким образом, первая строка будет индексом 1 и с тех пор индекс будет увеличиваться на 1, если только id1 или id2 не совпадут ни с одним из значений в предыдущих строках. В этом случае следует применять ранее присвоенный индекс.
Я искал недели, и большинство решений, похоже, не соответствует тому, что мне нужно.
Вот некоторые данные, чтобы повторить то, что у меня есть:
id1 <- c(1,2,2,4,6,7,9,11)
id2 <- c(2,3,4,5,7,8,10,2)
df <- cbind(id1,id2)
df <- as.data.frame(df)
df
id1 id2
1 1 2
2 2 3
3 2 4
4 4 5
5 6 7
6 7 8
7 9 10
8 11 2
И вот чего надеемся достичь:
#wanted result
index <- c(1,1,1,1,2,2,3,1)
df_indexed <- cbind(df,index)
df_indexed
id1 id2 index
1 1 2 1
2 2 3 1
3 2 4 1
4 4 5 1
5 6 7 2
6 7 8 2
7 9 10 3
8 11 2 1