我有以下的數據即雨量計讀數的時間序列集合。時間標記是雨量計每增加一次計數,而體積就是加在水桶上的雨量。我需要將數據彙總到每小時,每小時6小時,每週,每週添加到存儲桶中的總雨量的幾個不同類別中。我嘗試使用StachOverflow周圍發佈的一些其他數據聚合方法,但他們採用正常的收集時間間隔。我對R不太好,所以原諒我,如果這是一個超級簡單的編輯已經發布的代碼。
我知道數據是從Excel快照,但是這僅僅是這樣,因爲我無法弄清楚如何發佈附加表
這將很好地格式化在這個論壇的視覺目的是數據的CSV
我有以下的數據即雨量計讀數的時間序列集合。時間標記是雨量計每增加一次計數,而體積就是加在水桶上的雨量。我需要將數據彙總到每小時,每小時6小時,每週,每週添加到存儲桶中的總雨量的幾個不同類別中。我嘗試使用StachOverflow周圍發佈的一些其他數據聚合方法,但他們採用正常的收集時間間隔。我對R不太好,所以原諒我,如果這是一個超級簡單的編輯已經發布的代碼。
我知道數據是從Excel快照,但是這僅僅是這樣,因爲我無法弄清楚如何發佈附加表
這將很好地格式化在這個論壇的視覺目的是數據的CSV
一種選擇是使用包Lubridate:
library(lubridate)
timeseries <- read.csv("project1.csv", sep=",", header=T, dec=".")
timeseries[,1] <- mdy_hm(timeseries[,1])
日期已被轉換爲在R中被廣泛認可的POSIXct。 接下來,日期被四捨五入爲最接近的單位。 單位可以設置爲例如:小時,天,月等 四捨五入的日期存儲在一個新的data.frame,然後與原始data.frame連接。 最後一步是將這些值彙總到四捨五入的日期。結果
rdate <- ceiling_date(x=timeseries[,1],unit="hour")
temp <- cbind(rdate,timeseries)
timeseries_hour <- aggregate(x=temp[3],by=list(temp[,1]),FUN=sum)
部分:
head(timeseries_hour)
Group.1 Ppt..Amount
1 1996-05-02 01:00:00 0.03
2 1996-05-02 02:00:00 0.02
3 1996-05-02 05:00:00 0.01
4 1996-05-02 06:00:00 0.04
5 1996-05-02 07:00:00 0.38
6 1996-05-02 08:00:00 0.13
它看起來像你有一週分鐘的時間步長。爲什麼不用0填補空白,並使用你找到的其他方法之一? – 2013-04-08 19:10:48
您是否在尋找滾動平均值或某個時間零點的總量?你可能會想要使用一些「累計和」測試來定義接近6小時的地方,等等。 – igelkott 2013-04-08 19:11:24
想要總結這些值,至於填充0,每分鐘有多個度量,比如6:33, 6:34結束。 – DanTheMan 2013-04-08 19:19:44