【发布时间】:2016-05-25 22:38:56
【问题描述】:
我有一个包含 3 小时值的数据集,我想计算每日平均值,但我必须对 2 个连续时间步长之间的差异进行计算。这是我的数据样本:
prec=
c(5068.51904296875, 5068.53076171875, 5068.5654296875, 5068.5927734375,
5068.60107421875, 5068.60107421875, 5068.60107421875, 5068.60205078125,
5068.6123046875, 5068.6171875, 5068.6171875, 5068.6171875, 5068.6171875,
5068.6171875, 5068.6171875, 5068.6171875, 5068.61865234375, 5068.646484375,
5068.662109375, 5068.6669921875, 5068.67138671875, 5068.6728515625,
5068.7138671875, 5068.74169921875)
days=
structure(c(7670, 7670, 7670, 7670, 7670, 7670, 7670, 7670, 7671,
7671, 7671, 7671, 7671, 7671, 7671, 7671, 7672, 7672, 7672, 7672,
7672, 7672, 7672, 7672), class = "Date")
所以,我不得不这样做:
dfprec <- diff(prec,lag=1)
我的问题是,我现在怎么能得到每日的手段?我可以使用aggregate 或tapply..但现在dfprec 在几天内少了一个“时间”......
有什么建议吗?
【问题讨论】:
-
您必须添加一个 NA:
c(NA, dfprec)或c(dfprec, NA)才能获得与原始向量相同的长度。 -
你能指定每天限时的行为吗?您是否希望将每个差异归因于上一个或下一个时间步?或者可能不考虑每天的第一个或最后一个差异?
标签: r