随后更改ID的所有出现/再次出现的指标变量

时间:2019-01-29 10:00:13

标签: r database

我旨在更改ID的所有出现/重复出现的指标变量

数据框

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

我现在需要什么(指示符栏中的重复ID也等于1)

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

有没有一种方法可以基于ID列?

1 个答案:

答案 0 :(得分:0)

假设Dataframe2中的每个ID至少具有1个指标= 1(如上面的代码所示),目的是确保此ID的所有出现都具有指标= 1:

Dataframe2 %>%
  group_by(ID) %>%
  mutate(Indicator = case_when(any(Indicator==1) ~ 1 ,
                               T ~ 0))

假设出现在Dataframe1中的ID在Dataframe2中的所有出现都应具有指标= 1(并且出现在Dataframe1中的Dataframe2中的某些ID还没有至少具有1 Indicator = 1):

Dataframe1$Value <- NULL
Dataframe2$Indicator <- NULL

Dataframe2 <- left_join(Dataframe2, Dataframe1, by = "ID")