Я не уверен, что это то, что вы ищете, но на всякий случай - не могли бы вы group_by
и ID
и STO1
, что-то вроде:
ov25 %>%
group_by(ID, STO1) %>%
mutate(STOf = if_else(STO1 == 1 & row_number() == 1, 1, 0),
STOs = if_else(STO1 == 1 & row_number() == 2, 1, 0))
это поместило бы 1 в STOf
для первой строки в группе, где STO1
равно 1. Аналогичный подход для STOs
.