Допустим, у меня есть этот фрейм данных:
df <- data.frame(Sequence_ID = c(100,100,100,100,101,101,101,101,102,102,102,102,103,103,103,103), Success = c(1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1))
Если какая-либо из строк с одинаковым Sequence_ID имеет 1 в столбце Success, тогда я хочу, чтобы все строки в этой группе имели 1 столбец успеха.
Я могу получить желаемый результат с помощью следующего кода:
for(i in 1:nrow(df)){
x <- df$Sequence_ID[i]
if (any(df$success[df$Sequence_ID == x] == 1)){
df$success[df$Sequence_ID == x] <- 1
}
}
Мне было интересно, есть ли способ сделать это в dplyr. Заранее спасибо