4
我有一個數據框,其中包含開始日期和結束日期以及註冊事件的人數。我想計算的小時數每一方存在一個特定的時間內(例如07:00 - 17:00)計算兩個日期之間每天的「開放時間」數
如果我用下面的例子data.frame ...
d <- data.frame(startDate = c(as.POSIXct("2011-06-04 08:00:00"), as.POSIXct("2011-06-03 08:00:00"),
as.POSIXct("2011-09-12 10:00:00")),
endDate = c(as.POSIXct("2011-06-06 11:00:00"), as.POSIXct("2011-06-04 11:00:00"),
as.POSIXct("2011-09-12 18:00:00")),
partysize = c(124,442,323))
open <- "07:00"
close <- "17:00"
我想我的結果集是這個樣子:
day numhours partysize
2011-06-04 9 124
2011-06-05 10 124
2011-06-06 4 124
2011-06-03 9 442
2011-06-04 4 442
2011-09-12 7 323
注:NUMHOURS是被列入的開啓和關閉時間之間的日期的小時數
在此先感謝, --JT
是的,醜陋的...但它的作品:)謝謝! – JimmyT
今天我玩這個,唯一修改是我爲可讀性做的唯一修改是使用一個序列創建app.days app.days < - mapply(function(x,y){seq(x,y,by =「day」)} (格式(d $ startDate,「%Y-%m-%d」)), as.POSIXct(format(d $ endDate,「%Y-%m-%d」))) – JimmyT