根据R中记录的时间和速度计算汽车加速度

时间:2018-10-31 09:53:31

标签: r time-series acceleration

我想为纵向记录的汽车数据计算一个新的变量“加速度(以m / s ^ 2为单位)”,并且仅具有汽车的速度(以m / s为单位)和记录时间(以s为单位)。

这是数据框df的一部分:

 speed time_sec
1 27.520    0.273
2 27.520    0.313
3 27.172    0.353
4 26.887    0.393
5 26.560    0.433
6 26.560    0.473

如何为汽车的每个记录行添加一个新变量“加速度(正值)/减速度(负值)”?

1 个答案:

答案 0 :(得分:0)

这基本上是增量速度除以增量时间。因此,请两次使用diff,并且不要忘记第一个值不可从数据中计算出来。

c(NA, with(cars, diff(speed)/diff(time_sec)))
#[1]     NA  0.000 -8.700 -7.125 -8.175  0.000

cars$accel <- c(NA, with(cars, diff(speed)/diff(time_sec)))

数据。

cars <- read.table(text = "
 speed time_sec
1 27.520    0.273
2 27.520    0.313
3 27.172    0.353
4 26.887    0.393
5 26.560    0.433
6 26.560    0.473                   
", header = TRUE)