Я хотел бы объединить два набора данных и в первом наборе данных, если дата находится между StartDate и EndDate, 1, как добавлено как имена кулонов pros_sales.Ниже приведены мои наборы данных
data1=data.frame(Date=as.Date("2015-06-28"),Storecode=34)
data2=data.frame(Promo=c("Promo1","Promo2","Promo3","Promo4")
,StartDate=c("2015-02-10","2015-03-15"," 2015-05-24","2015-06-21")
,EndDate=c("2015-02-17","2015-03-22","2015-06-01","2015-06-28"))
data1$Date <- as.Date(data1$Date)
data2$StartDate <- as.Date(data2$StartDate)
data2$EndDate <- as.Date(data2$EndDate)
Мой желаемый набор данных ниже;
Date Storecode Promo StartDate EndDate pro_sales
2015-06-28 34 Promo1 2015-02-10 2015-02-17 0
2015-06-28 34 Promo2 2015-03-15 2015-03-22 0
2015-06-28 34 Promo3 2015-05-24 2015-06-01 0
2015-06-28 34 Promo4 2015-06-21 2015-06-28 1
Ниже приведен мой код, но он добавил 1 ко всем pro_sales.
data.frame( data1 %>%
mutate(dummy=TRUE) %>%
left_join(data2 %>% mutate(dummy=TRUE)) %>%
mutate(pro_sales = case_when(
Date>=StartDate | Date<=EndDate ~ 1,
FALSE ~ 0)))
Можете ли выПомоги мне, пожалуйста?Спасибо.