我有两个数据框,一个包括按天的数据,另一个包含不规则时间多日间隔的数据 . 例如:
数据框 precip_range
,具有不规则时间间隔的降水数据:
start_date<-as.Date(c("2010-11-01", "2010-11-04", "2010-11-10"))
end_date<-as.Date(c("2010-11-03", "2010-11-09", "2010-11-12"))
precipitation<-(c(12, 8, 14))
precip_range<-data.frame(start_date, end_date, precipitation)
和一个包含每日降水数据的数据框 precip_daily
:
day<-as.Date(c("2010-11-01", "2010-11-02", "2010-11-03", "2010-11-04", "2010-11-05",
"2010-11-06", "2010-11-07", "2010-11-08", "2010-11-09", "2010-11-10",
"2010-11-11", "2010-11-12"))
precip<-(c(3, 1, 2, 1, 0.25, 1, 3, 0.33, 0.75, 0.5, 1, 2))
precip_daily<-data.frame(day, precip)
在此示例中, precip_daily
表示由模型估计的每日降水量, precip_range
表示特定日期范围的测量累积降水量 . 我试图将建模与测量数据进行比较,这需要同步时间段 .
因此,我想在数据框 precip_range
中按 start_date
和 end_date
之间的日期日期范围汇总数据框 precip_daily
中的 precip
列(观察计数和 precip
之和) . 有关最佳方法的任何想法吗?
2 回答
您可以将
precip_range
中的start_dates用作cut()
的中断,以对每日值进行分组 . 例如在这里,我们使用data.frame范围内的开始日期来每日剪切值 . 我们肯定会包含最低值并停在最大的最终值 . 如果我们将其与我们看到的每日 Value 合并
这表明这些值已经分组 . 然后我们就可以做到
获取每个范围的总数(标记为开始日期的范围)
要么