2015-04-24 2 views
1

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

+3

Можете ли вы предоставить некоторые примеры данных? – RUser

+2

Пожалуйста, включите [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – figurine

+2

Пожалуйста, используйте 'dput', чтобы отобразить набор данных. т.е. введите 'dput (head (yourdataset))' на вашу консоль R и скопируйте/вставьте вывод в свой пост – akrun

ответ

1

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

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

Thx! отлично работает !!! –

+0

@eliranazulay Рад знать, что он работает. – akrun

Смежные вопросы