【发布时间】:2014-01-22 00:59:23
【问题描述】:
给定数据
我有6列车辆轨迹数据(观察车辆位置、速度等随时间的变化),其中一部分如下所示:
Vehicle ID Frame ID Global X Vehicle class Vehicle velocity Lane
1 177 6451181 2 24.99 5
1 178 6451182 2 24.95 5
1 179 6451184 2 24.91 5
1 180 6451186 2 24.90 5
1 181 6451187 2 24.96 5
1 182 6451189 2 25.08 5
车辆 ID 是单个车辆的标识,例如车辆 1、车辆 2 等。对于观察到的每个帧,它在列中重复。请注意,每帧长度为 0.1 秒,因此 10 帧等于 1 秒。框架的 ID 在框架 ID 列中。车辆类别是车辆的类型(1=摩托车,2=汽车,3=卡车)。车辆速度列表示车辆在该时刻即帧中的瞬时速度。 Lane 表示特定帧中车辆所在车道的编号或 ID。
我需要找到什么
我拥有的数据是 15 分钟。最小帧 ID 为 5,最大帧 ID 为 9952。我需要找到每 30 秒时间段内的车辆总数。这意味着从前 30 秒(帧 ID 5 到帧 ID 305)开始,我需要知道观察到的唯一车辆 ID。此外,对于这 30 秒的时间段,我需要找到每个车辆类别的平均速度。这意味着例如对于汽车,我需要找到车辆等级为 2 的车辆的所有速度的平均值。 我需要在所有 30 秒的时间段内找到它,即 5-305、305-605、605-905、...、9605-9905。汽车、卡车和摩托车的输出应该是这样的:
Time Slots Total Cars Average Velocity
5-305 xx xx
305-605 xx xx
. . .
. . .
9605-9905 xx xx
到目前为止我已经尝试过什么
# Finding the minimum and maximum Frame ID for creating 30-seconds time slots
minfid <- min(data$'Frame ID') # this was 5
maxfid <- max(data$'Frame ID') # this was 9952
for (i in 'Frame ID'==5:Frame ID'==305) {
table ('Vehicle ID')
mean('Vehicle Velocity', 'Vehicle class'==2)
} #For cars in first 30 seconds
我无法生成所需的输出,也不知道如何在所有 30 秒的时间段内执行此操作。请帮忙。
【问题讨论】: