我的問題時薪數額如下:我有與像五分鐘沉澱數據的時間序列:聚合5分鐘的數據與目前NA的
Datum mm
1 2004-04-08 00:05:00 NA
2 2004-04-08 00:10:00 NA
3 2004-04-08 00:15:00 NA
4 2004-04-08 00:20:00 NA
5 2004-04-08 00:25:00 NA
6 2004-04-08 00:30:00 NA
這種結構:
'data.frame': 1098144 obs. of 2 variables:
$ Datum: POSIXlt, format: "2004-04-08 00:05:00" "2004-04-08 00:10:00" "2004-04-08 00:15:00" "2004-04-08 00:20:00" ...
$ mm : num NA NA NA NA NA NA NA NA NA NA ...
正如您所看到的,時間序列以很多NA's
開頭,但降水量進一步下降,儘管由於測量站故障導致單個不太常見的NA's
。
我試圖達到的目標,是將測得的降水總結爲小時總和,不考慮NA's
。
這是我試過到目前爲止:
sums <- aggregate(precip["mm"],
list(cut(precip$Datum, "1 hour")), sum)
即使時間戳正確地聚集到幾個小時,所有款項都0
或NA
。如果根本沒有NA
,則計算的金額甚至不計算在內。
EDIT附加地被考慮:
在氣象學每小時的沉澱總和始終描述的累積和直到一定小時:沉澱的在0:00點鐘的量描述從總和前一天的23:00 直到 0:00。所以我總是需要總結前一小時。
重複的例子,
set.seed(1120)
s <- as.POSIXlt("2004-03-08 23:00:00")
r <- seq(s, s+1e4, "30 min")
precip <- data.frame(Datum=r, mm=sample(c(1:5,NA), 6, T))
Datum mm
2004-03-08 23:00:00 4
2004-03-08 23:30:00 1
2004-03-09 00:00:00 2
2004-03-09 00:30:00 4
2004-03-09 01:00:00 1
2004-03-09 01:30:00 4
通過上面的例子,我要尋找的結果是:
Datum mm
2004-03-09 00:00:00 5
2004-03-09 01:00:00 6
2004-03-09 02:00:00 5
幫助,將不勝感激!
謝謝!
對於未來,請考慮閱讀[問]以及如何在R中創建[可重現的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。如果您提供明確的預期輸出,它可以讓其他人更容易地幫助您,而無需大量澄清註釋。 – Heroka
在示例數據框中,輸出應該是什麼?請用*實際代碼*回答,而不是輸出的書面描述。 –
我們是否真的來回拖了這麼長時間,並且您一直都有解決方案?我原來的解決方案產生的輸出。 –