Предполагая, что каждый идентификатор в Dataframe2 имеет как минимум 1 показатель = 1 (как предполагает приведенный выше код), и цель состоит в том, чтобы все экземпляры этого идентификатора имели показатель = 1:
Dataframe2 %>%
group_by(ID) %>%
mutate(Indicator = case_when(any(Indicator==1) ~ 1 ,
T ~ 0))
Предполагая, что всеВхождения ID в Dataframe2, которые появляются в Dataframe1, должны иметь Indicator = 1 (а некоторые ID в Dataframe2, которые появляются в Dataframe1, еще не имеют хотя бы 1 Indicator = 1):
Dataframe1$Value <- NULL
Dataframe2$Indicator <- NULL
Dataframe2 <- left_join(Dataframe2, Dataframe1, by = "ID")