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

Calculating car acceleration from recording time and speed in R

我想为纵向记录的汽车数据计算一个新变量"acceleration (in m/s^2)",只有汽车的速度(in m/s)和记录时间(in 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

如何为汽车的每个记录行添加一个新变量"acceleration (positive values)/ deceleration (negative values)"?

这基本上是增量速度除以增量时间。所以使用 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)