Расчет ускорения автомобиля по времени записи и скорости в R

Я хотел бы вычислить новую переменную «ускорение (в м / с ^ 2)» для продольных записанных данных автомобиля и иметь только скорость автомобиля (в м / с) и время записи (в с).

Это часть фрейма данных 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

Как я могу добавить новую переменную «ускорение (положительные значения) / замедление (отрицательные значения)» в каждую строку записи автомобиля?


person Community    schedule 31.10.2018    source источник
comment
Можете ли вы предоставить данные, с которыми мы можем работать? Возможно, используйте dput () и опубликуйте это здесь.   -  person william3031    schedule 31.10.2018


Ответы (1)


Это в основном дельта скорости, деленная на дельта-время. Поэтому используйте 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)
person Rui Barradas    schedule 31.10.2018