У меня есть следующие данные, и мне нужно рассчитать ускорение (изменение скорости за единицу времени).Обратите внимание, что у меня в середине отсутствуют некоторые метки времени, поэтому как я могу рассчитать ускорение ... Я попробовал следующий код, но мне нужно знать, правильный ли этот подход.
Я только что рассчитал разницу в скорости.а также разница во времени ... и, наконец, удалены временные различия, которые превышают 1 секунду и которые автоматически дают мне ускорение в секунду.
Пример данных:
vehicle ID Timestamp Speed
1 ID12 2018-04-03 03:03:13 30.85253
2 ID12 2018-04-03 03:03:14 33.37131
3 ID12 2018-04-03 03:03:24 35.31485
4 ID12 2018-04-03 03:03:25 36.86404
5 ID12 2018-04-03 03:03:26 37.73222
6 ID12 2018-04-03 03:03:30 37.08222
. . .
. . .
tempdata<-Df%>%
group_by(vehcile ID) %>%
mutate(Speed_Diff = Speed - lead(Speed,1))
tempdata<-as.data.frame(tempdata)
tempdata <- na.omit(tempdata)
j<-tempdata$Timestamp
timediff<-difftime(j[1:(length(j)-1)],j[2:length(j)])
timediff<-as.data.frame(timediff)
timediff[nrow(timediff)+1,] <- NA
########make rows of this dataframe & Output dataframe consistent by adding a
NA row###
tempdata2<-cbind(tempdata,timediff)
tempdata2 <- na.omittempdata2
tempdata2$timediff<-as.numeric(abstempdata2$timediff))
Finaldataframe<- tempdata2tempdata2$timediff==1,]