我有一個數據框包含兩列:一個分組變量和分組變量持有的間隔時間段。我有另一個數據框與日期列和值列。如何使用dplyr + tidyverse函數有效地將這兩個表一起加入?如何根據與dplyr的時間間隔執行連接?
library(dplyr)
library(lubridate)
ty <- data_frame(date = mdy(paste(1, 1 + seq(20), 2017, sep = "/")),
y = c(rnorm(7), rnorm(7, mean = 2), rnorm(6, mean = -1)))
gy <- data_frame(period = interval(mdy(c("01/01/2017", "01/08/2017", "01/15/2017")),
mdy(c("01/07/2017", "01/14/2017", "01/20/2017"))),
batch = c(1, 2, 3))
我想建立一個相當於表:
ty %>% mutate(batch = c(rep(1, 7), rep(2, 7), rep(3, 6)))
理想的情況下,這應該相當快的數據集高達1,000,000行。更好的是,如果它在100,000,000的工作:)。
這不回答你的問題('dplyr'),但作爲一個評論 - 你應該看看[滾動加盟在'data.table'](https://stackoverflow.com/questions/12030932/rolling-joins-data-table-in-r) – C8H10N4O2