Использование dplyr :: mutate между двумя фреймами данных для создания столбца на основе диапазона дат

Прямо сейчас у меня есть два кадра данных. Одна содержит более 11 миллионов строк даты начала, окончания и других переменных. Второй кадр данных содержит суточные значения дней нагревания (в основном, измерение температуры).

set.seed(1)    
library(lubridate)
date.range <- ymd(paste(2008,3,1:31,sep="-"))
daily <- data.frame(date=date.range,value=runif(31,min=0,max=45))
intervals <- data.frame(start=daily$date[1:5],end=daily$date[c(6,9,15,24,31)])

В действительности мой ежедневный фрейм данных имеет каждый день в течение 9 лет, а мой интервал данных содержит записи, которые охватывают произвольные даты в этом периоде времени. То, что я хотел сделать, это добавить колонку к моемуintervals&nbsp;датафрейм называетсяnhdd&nbsp;которые суммируются по значениям за день, соответствующим этому временному интервалу (исключая конец).

Например, в этом случае первая запись этого нового столбца будет

sum(daily$value[1:5])

а второй будет

sum(daily$value[2:8]) and so on.

Я пытался использовать следующий код

intervals <- mutate(intervals,nhdd=sum(filter(daily,date>=start&date<end)$value))

Это не работает, и я думаю, что это может быть связано с неправильной ссылкой на столбцы, но я не уверен, куда идти.

Я бы очень хотел использоватьdplyr&nbsp;чтобы решить это, а не цикл, потому что 11 миллионов строк займет достаточно много времени, используя dplyr. Я пытался использовать большеlubridate&nbsp;но dplyr, похоже, не поддерживает класс Period.

Изменить: я на самом деле использую даты изas.Date&nbsp;сейчас вместоlubridateно основной вопрос о том, как обратиться к другому фрейму данных изнутриmutate&nbsp;все еще стоит