我有一個大量的車禍數據,它的一個樣本提供如下。cumsum根據某些限制在r
accident
是事故發生的二元變量還是不是 。shift_number
是換檔次數,0表示駕駛員是 休息而不是換班。time_diff
是每次觀察的時間量。df <- data.frame( accident = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1), shift_number = c(1, 1, 0, 0, 0, 2, 2, 2, 0, 0, 3, 3, 3, 3, 3), time_diff = 3:17 )
我的問題是,因爲駕駛員開始這種轉變對於每次事故來衡量工作時間的總量。
wanted <- data.frame
(
accident = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1),
shift_number = c(1, 1, 0, 0, 0, 2, 2, 2, 0, 0, 3, 3, 3, 3, 3),
time_diff = 3:17,
cum_time = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 75)
)
有沒有人有解決R問題的想法?因爲我有大量的數據需要處理,所以最好有data.table或vectorised解決方案。
我不清楚'cum_time'是如何計算的。 –
@Ronak Shah cum_time每次事故都是在該班次開始時的「time_diff」cumsum,事故實際發生的地點 –