У меня есть данные с 3-часовыми значениями, и я хочу вычислять среднесуточные значения, но я должен делать это по разнице между двумя последовательными временными интервалами. Это пример моих данных:среднесуточный после применения diff
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: 'с (NA, dfprec) или' c (dfprec, NA) ', чтобы получить ту же длину, что и исходный вектор. – jogo
Можете ли вы указать, какое поведение на пределе каждого дня? Вы хотите, чтобы каждая разница относилась к предыдущему или следующему временному значению? или, возможно, не учитывать первое или последнее различие каждого дня? – agenis