У меня есть два набора данных: DF1 - фрейм данных, в котором перечислены главы государств (leader_id) стран (country_code) и интервал их времени в офисе (office_interval). DF2 - фрейм данных, где каждое наблюдение - это событие, которое имеет страну (код страны) и дату, когда оно произошло (дата события).
Воспроизводимые данные:
library(lubridate)
#Leader DF
leader_id <- c("Adam","Bob","Charlie")
country_code <- c(1,1,2)
office_interval <- c(interval(ymd("1900-01-01"), ymd("1905-01-01")),
interval(ymd("1910-01-01"), ymd("1915-01-01")),
interval(ymd("1920-01-01"), ymd("1925-01-01")))
DF1 <- data.frame(leader_id, country_code, office_interval)
#Event DF
country_code <- c(1,2,2,1)
event_date <- c(as.Date("1901-01-01"),
as.Date("1902-01-01"),
as.Date("1921-01-01"),
as.Date("1901-02-02"))
DF2 <- data.frame(country_code, event_date)
Я хотел бы создать новый столбец, DF1 $ total_events, который суммирует общее количество наблюдений в DF2, которые происходят в пределах одного и того же кода страны и office_interval для каждого лидер в DF1. Это должно выглядеть так:
leader_id country_code1 office_interval total_events
1 Adam 1 1900-01-01 UTC--1905-01-01 UTC 2
2 Bob 1 1910-01-01 UTC--1915-01-01 UTC 0
3 Charlie 2 1920-01-01 UTC--1925-01-01 UTC 1
Я пытался изменить некоторые решения из этого похожего вопроса , однако я не могу заставить что-либо работать с моими данными.