Я ищу что-то вроде density_rank, которое не учитывает порядок ранжированного столбца.
# some data
df <- data.frame(
cat = c("A", "A", "B", "C", "A"),
date = seq.Date(from = as.Date("2020-01-01"), length.out = 5, by = "days")
)
# showing the intended order
df$custom_order <- c(1,1,2,3,4)
Предполагаемый результат - это. Второй A считается частью первого A. Пятый A является «новым» A, потому что предыдущий кот не является A.
cat date custom_order
1 A 2020-01-01 1
2 A 2020-01-02 1
3 B 2020-01-03 2
4 C 2020-01-04 3
5 A 2020-01-05 4
Существует ли такая функция? Я знаю, что это может быть достигнуто с некоторой магией lag () c, но я надеялся, что может быть более простой способ.