【发布时间】:2017-07-03 00:28:57
【问题描述】:
[在此处输入图像描述][1][在此处输入图像描述][2]我有一个数据框“RH”,其中包含每小时数据,我想将其转换为每天的最大和最小数据。这段代码很有用[问题]:Aggregating hourly data into daily aggregates
RH$Date <- strptime(RH$Date,format="%y/%m/%d)
RH$day <- trunc(RH$Date,"day")
require(plyr)
x <- ddply(RH,.(Date),
summarize,
aveRH=mean(RH),
maxRH=max(RH),
minRH=min(RH)
)
但我的前 5 年数据是 3 小时数据,而不是每小时数据。所以那些年没有结果。有什么建议吗?提前谢谢你。
'data.frame': 201600 obs. of 3 variables:
$ Date: chr "1985/01/01" "1985/01/01" "1985/01/01" "1985/01/01" ...
$ Hour: int 1 2 3 4 5 6 7 8 9 10 ...
$ RH : int NA NA 93 NA NA NA NA NA 79 NA ...
【问题讨论】:
-
所以你不希望前五年出现在结果中,或者你需要它们出现,但所有值都应该是
NA -
您提供的链接是旧的。该代码应该仍然有效,但有更多最近的方法。我们无法解决问题,因为您没有提供数据。您想要一个可以处理您的数据的最新代码示例吗?
-
@PLapointe 同样在这里,我刚刚发现问题来自 6 年前...:(
-
感谢您的回答。我需要拥有所有年份的最大和最小数据。但此代码将显示前 5 年的 NA,这不是每小时而是 3 小时的数据。我不知道如何用 3 小时数据转换前 5 年和用每小时数据转换 20 年。我的数据周期是 25。
-
@user3575805 我添加了您正在尝试做的“现代”版本。它应该适用于您的数据。