从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)
我想为纵向记录的汽车数据计算一个新变量"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)