我旨在更改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列?
答案 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")