我正在尋找在每一行上運行累積總和的值,該值位於該點之前和之後的兩列中。所以在這種情況下,我在兩天內的每個給定分鐘都有兩種事件類型的量。我想創建一個列,該列按類型添加每行之前和之後發生的所有事件。 SUMIF從Excel想到的,但我不知道如何端口到R:在另一行中處理時間的條件求和
編輯:添加set.seed,更容易的數字
,我有以下數據集:
set.seed(42)
master_min =
setDT(
data.frame(master_min = seq(
from=as.POSIXct("2016-1-1 0:00", tz="America/New_York"),
to=as.POSIXct("2016-1-2 23:00", tz="America/New_York"),
by="min"
))
)
incident1= round(runif(2821, min=0, max=10))
incident2= round(runif(2821, min=0, max=10))
master_min = head(cbind(master_min, incident1, incident2), 5)
如何計算基本以下邏輯:
的每一行,總之一切該行的時間戳之前發生的incident1s和所有的R之後所發生的incident2s ow的時間戳?獲得數據表解決方案,如果不是dplyr會很棒,因爲我正在處理大型數據集。下面是一個和之前的data`後:
BEFORE:
master_min incident1 incident2
1: 2016-01-01 00:00:00 9 6
2: 2016-01-01 00:01:00 9 5
3: 2016-01-01 00:02:00 3 5
4: 2016-01-01 00:03:00 8 6
5: 2016-01-01 00:04:00 6 9
經過計算:
master_min incident1 incident2 new_column
1: 2016-01-01 00:00:00 9 6 25
2: 2016-01-01 00:01:00 9 5 29
3: 2016-01-01 00:02:00 3 5 33
4: 2016-01-01 00:03:00 8 6 30
5: 2016-01-01 00:04:00 6 9 29
請添加'set.seed'。另外,爲了創建一個最小的例子,不需要進行太多的觀察。最後,請提供您想要的輸出 - 除非您希望人們忽略這個問題或者在流行答案中暗暗刺中。 –
添加了set.seed並在之前和之後顯示。更簡單的數字供快速參考。 – LoF10