Я думаю, что вы хотите сделать, это
library(dplyr)
df %>%
mutate(inds = c(0, diff(x)),
inds = -inds * (inds < 0)) %>%
group_by(y) %>%
summarise(sum = sum(inds))
# y sum
# <fct> <dbl>
#1 A 2
#2 B 5
#3 C 3
данные
df <- structure(list(y = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L,
3L), .Label = c("A", "B", "C"), class = "factor"), x = c(3L,
1L, 5L, 5L, 0L, 1L, 3L, 2L, 0L)), row.names = c("1", "2", "3",
"4", "5", "6", "7", "8", "9"), class = "data.frame")