Ссылочный столбец из следующей строки с другим значением - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть большой набор данных с этой формой:

df <- data.frame(event = c("request","request","response", "request"), 
      value = 1:4)
event      value
request     1
request     2
response    3
request     4

Я хотел бы написать next_different_event_value, value в строке со следующими различными event,Желаемый результат:

event      value    next_different_event_value
request     1       3
request     2       3
response    3       4
request     4       NA

В идеале я могу сделать это с помощью подхода Tidyverse и без соединений.

Спасибо.

1 Ответ

0 голосов
/ 27 декабря 2018

A dplyr решение:

df %>%
 mutate(next_different_event_value = ifelse(event != lead(event), lead(value), NA)) %>%
 fill(next_different_event_value, .direction = "up")

     event value next_different_event_value
1  request     1                          3
2  request     2                          3
3 response     3                          4
4  request     4                         NA

Сравнивает, совпадает ли "событие" со следующей строкой "событие".Если нет, он присваивает значение из следующей строки «событие», в противном случае он присваивает NA.Затем он заполняет пропущенные значения последним значением, отличным от NA, снизу вверх.

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