因此我們來看下面的data.table。它有日期和一列數字。我想獲得每個日期的一週,然後每兩週彙總(總和)。Data.Table:每兩週彙總
Date <- as.Date(c("1980-01-01", "1980-01-02", "1981-01-05", "1981-01-05", "1982-01-08", "1982-01-15", "1980-01-16", "1980-01-17",
"1981-01-18", "1981-01-22", "1982-01-24", "1982-01-26"))
Runoff <- c(2, 1, 0.1, 3, 2, 5, 1.5, 0.5, 0.3, 2, 1.5, 4)
DT <- data.table(Date, Runoff)
DT
因此,從那天起,我可以很容易地得到年和周。
DT[,c("Date_YrWeek") := paste(substr(Date,1,4), week(Date), sep="-")][]
我在掙扎的是每兩週彙總一次。 我以爲我會得到每週的第一個日期,並使用這些值進行篩選。不幸的是,這將是非常愚蠢的。
DT[,.(min(Date)),by=.(Date_YrWeek)][order(Date)]
最後的結果最終會成爲每兩週的總和。
weeks sum_value
1 and 2 ...
3 and 4 ...
5 and 6 ...
任何人都有一個有效的方法來做到這一點與data.table?