У меня есть набор данных о дорожном движении для определенных дорог, и у меня есть несколько столбцов в моем наборе данных. Один из них — «Расстояние от начала» (начало от 0 до конца дороги, в ед. м.), а другой столбец: «Скорость». Хочу узнать среднюю скорость по дороге на промежутках около 5000 метров. Как я могу сделать это, используя агрегацию или какой-либо другой подход? Это мой набор данных, содержащий около 700 000 строк. Он отсортирован по DistanceFromStart.
агрегировать по расстоянию в R
Ответы (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
dput
, чтобы показать набор данных. т. е. введитеdput(head(yourdataset))
на консоли R и скопируйте/вставьте вывод в свой пост. - person akrun   schedule 24.04.2015aggregate(Speed~cbind(Distance=cut(DistancefromStart, breaks=seq(0,max(DistancefromStart), by=5000), include.lowest=TRUE), df1, FUN=mean)
(не проверено) - person akrun   schedule 24.04.2015