Впоследствии измените переменную индикатора для всех вхождений / повторных появлений идентификатора. - PullRequest
0 голосов
/ 29 января 2019

Я стремлюсь изменить переменную индикатора для всех вхождений / повторных появлений идентификатора

Кадр данных

ID    Value    Indicator
1       10        1
2       3         1 
3       5         0 
1       8         0
4       7         0
2       5         0

Что мне нужно сейчас (чтобы повторяющиеся идентификаторы также равнялись 1 в индикаторестолбец)

ID    Value    Indicator
1       10        1
2       3         1 
3       5         0 
1       8         1
4       7         0
2       5         1

Есть ли способ основать это на столбце идентификатора?

1 Ответ

0 голосов
/ 29 января 2019

Предполагая, что каждый идентификатор в 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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...