下面是一些示例數據:計數事件的數量目前流逝當一個新的事件發生(RevoScaleR/mrsdeploy)
Begin = c("10-10-2010 12:15:35", "10-10-2010 12:20:52", "10-10-2010 12:23:45", "10-10-2010 12:25:01", "10-10-2010 12:30:29")
End = c("10-10-2010 12:24:23", "10-10-2010 12:23:30", "10-10-2010 12:45:15", "10-10-2010 12:32:11", "10-10-2010 12:45:05")
df = data.frame(Begin, End)
我要算那些當前未完成事件的數量,當一個新的事件開始並將其記錄在一個新列中。所以對於這個特定的例子,最終結果是所需的將是一個列值爲:0,1,1,1,2,0
我有一個關於如何使用data.table做到這一點的解決方案,它工作正常。我希望能夠找到一個適用於RevoScaleR/mrsdeploy包的解決方案,這樣做的程序可以利用並行計算/數據分塊。
這裏是在data.table工程解決方案:
library(lubridate)
library(data.table)
df <- as.data.frame(lapply(df, dmy_hms))
dt <- as.data.table(df)
setkey(dt,Begin,End)[,id:=.I]
merge(dt, foverlaps(dt,dt)[id>i.id,.N,by="Begin,End"], all.x=T)[,id:=NULL][is.na(N),N:=0][]
同樣,我在尋找一個可以遠程對SQLSERVER2016與中提到的包執行。
我正在計算另一個開始時尚未結束的事件數量。這是斷電數據,所以這就是說'當這次停電開始時,已經有x次停電尚未修復'。 – TravisLong