Попробуйте использовать cut
в aggregate
with(c1, aggregate(list(steps = steps),
list(interval = cut(interval, c(seq(min(interval), max(interval), 50), Inf),
labels = seq(min(interval), max(interval), 50), include.lowest = TRUE)), sum))
Чтобы сделать это более явным, мы можем разделить шаги
c1$group <- cut(c1$interval, c(seq(min(c1$interval), max(c1$interval), 50), Inf),
labels = seq(min(c1$interval), max(c1$interval), 50), include.lowest = TRUE)
aggregate(steps~group, c1, sum)