агрегировать по расстоянию в R

У меня есть набор данных о дорожном движении для определенных дорог, и у меня есть несколько столбцов в моем наборе данных. Один из них — «Расстояние от начала» (начало от 0 до конца дороги, в ед. м.), а другой столбец: «Скорость». Хочу узнать среднюю скорость по дороге на промежутках около 5000 метров. Как я могу сделать это, используя агрегацию или какой-либо другой подход? введите здесь описание изображенияЭто мой набор данных, содержащий около 700 000 строк. Он отсортирован по DistanceFromStart.


person eliran azulay    schedule 24.04.2015    source источник
comment
Можете ли вы привести некоторые примеры данных?   -  person Prasanna Nandakumar    schedule 24.04.2015
comment
Пожалуйста, включите воспроизводимый пример   -  person figurine    schedule 24.04.2015
comment
Пожалуйста, используйте dput, чтобы показать набор данных. т. е. введите dput(head(yourdataset)) на консоли R и скопируйте/вставьте вывод в свой пост.   -  person akrun    schedule 24.04.2015
comment
Попробуйте aggregate(Speed~cbind(Distance=cut(DistancefromStart, breaks=seq(0,max(DistancefromStart), by=5000), include.lowest=TRUE), df1, FUN=mean) (не проверено)   -  person akrun    schedule 24.04.2015


Ответы (1)


Вы можете использовать cut для создания групп, а затем получить mean «Скорость».

library(data.table)
setDT(df1)[, list(Speed=mean(Speed)), by=list(cut(DistancefromStart,
   breaks= seq(0, max(DistancefromStart)+5000, by = 5000),
                 include.lowest=TRUE))] 
person akrun    schedule 24.04.2015