Я проверил несколько других подобных вопросов, но не могу найти код, который работает для моих данных. У меня есть 2 набора данных (df1 и df2), один с интервалом времени (df1) и один с данными об осадках (df2). Я хотел бы получить общее количество осадков за временной интервал в df1. Из-за всех других данных в df1 я не могу объединить 2 набора данных, df1 каждая строка соответствует отдельному наблюдению, и мне нужен общий дождь для этого периода времени наблюдений.
df1 имеет интервалы дат;
[1] 1969-06-18 UTC--NA 1972-06-19 UTC--NA 1989-06-18 UTC--NA
[4] 1992-06-13 UTC--NA 1993-06-17 UTC--1993-10-02 UTC 1997-06-21 UTC--1997-09-19 UTC
и df2 имеет данные об осадках в день (данные с 1987 по 2018 годы); head(df2)
Date rain_mm
1 1987-06-01 0.0
2 1987-06-02 0.0
3 1987-06-03 0.0
4 1987-06-04 0.0
5 1987-06-05 6.0
6 1987-06-06 6.4
Как узнать сумму осадков в течение каждого интервала времени? Я создал начальную дату (df1 $ Date) и конечную дату (df1 $ end) из интервала, затем попытался выполнить следующее:
df1$rain <- NA #empty column for data
df1$rain[i] <-sum(df2$rain_mm[which(
df1$Date>= df2$Date[i] &
df2$Date<= df1$end[i])])}
There were 50 or more warnings (use warnings() to see the first 50)
df1$rain
NULL
Warning message:
Unknown or uninitialised column: 'rain'.
Код был выполнен, но не кажется, на самом деле не работает. Самая большая проблема - получить сумму за определенный промежуток времени. Любая помощь очень ценится.