У меня есть один фрейм данных A со значениями для начального года и года окончания, где ccode идентифицирует единицу
ccode StartYear1 EndYear1
2 1950 1953
2 1965 1973
и другой фрейм данных B, который имеет одно наблюдение для каждого ccode и за год
ccode year
2 1950
2 1951
2 1952
2 1953
2 1954
2 1955
Я хотел бы добавить новую переменную во второй фрейм данных, равную единице для каждого года в диапазоне от StartYear1 до EndYear1, которая соответствует переменной "ccode". Таким образом, на выходе должен быть фрейм данных B
ccode year flag
2 1950 1
2 1951 1
2 1952 1
2 1953 1
2 1954 0
2 1955 0
Я пробовал следующий код
dfB <-
dfB %>%
group_by(ccode,year) %>%
mutate(flag= year %in% list(seq(dfA$StartYear1,dfA$EndYear1)))
, но я не могу понять, как присвоить значение "1" годам в этот диапазон. Как я могу назначить значение c, если строка находится в списке (seq (StartYear1, EndYear1))? Спасибо!
ОБНОВЛЕНИЕ ***
Акрун, я запустил твой код и получил следующие результаты
ccode year flag
2 1950 1
2 1951 1
2 1952 1
2 1953 1
2 1954 1
2 1955 1
, которые должны быть
ccode year flag
2 1950 1
2 1951 1
2 1952 1
2 1953 1
2 1954 0
2 1955 0
Должна ли группа_by указывать код или годы?