我有一周的数据,每5秒读一次 . 下面是一个数据示例 .
9/1/2012 00:00:00 1
9/1/2012 00:00:05 2
9/1/2012 00:00:10 3
我想计算每一天的每小时平均值 . 然后使用代表不同日期的线条制作“平均每小时读数与小时数”的多线图 .
我在这里的是每周平均值
data$date = as.POSIXct(strptime(data$date,
format = "%d/%m/%Y %H:%M","GMT"))
means <- aggregate(data["nox"], format(data["date"],"%Y-%U"),
mean, na.rm = TRUE)
对于每日平均值,它是
data$date = as.POSIXct(strptime(data$date,
format = "%d/%m/%Y %H:%M","GMT"))
means <- aggregate(data["nox"], format(data["date"],"%Y-%j"),
mean, na.rm = TRUE)
任何人都知道如何计算每天的每小时平均值 .
3 回答
我喜欢@DWin的答案,但我还记得曾经看过
?cut.Date
的帮助文件,在这种情况下也可以使用 . 我已经编制了一些数据,所以你可以在几个小时内看到结果:我从here来到这里,所以我的数据形式稍有不同,但使用lubridate你也可以轻松解析数据格式 .
使用可以操作日期/时间的表单中的数据,您可以按日期小时或每小时在所有日期汇总它,如下所示:
要使用ggplot2使用点和线来绘制它,你可以这样做
它只需要在向量中更改格式规范: