Как найти второе вхождение столбца на основе условия? - PullRequest
0 голосов
/ 16 февраля 2020

Ну, чтобы найти первое вхождение STO1, я выделил значение 1 для STOf. Точно так же я хочу найти второе вхождение в STO1, чтобы выделить значение 1 для STO. Я пытался использовать какой-то счетчик, но не понял его правильно.

     ov26<-ov25 %>% 
           group_by(ID) %>% 
           mutate(STOf = { STO1 == 1 } %>% { . * !duplicated(.) } ) 
           %>% ungroup

1 Ответ

0 голосов
/ 17 февраля 2020

Я не уверен, что это то, что вы ищете, но на всякий случай - не могли бы вы 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...