Объединение нескольких строк с данными даты в разных столбцах - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть фрейм данных, который похож на формат ниже, хотя у меня есть много групп за orderID, которые должны остаться такими же:

orderID <- c('1234', '1234')
incoming <- as.Date(c('2019-3-3',NA))
outgoing <- as.Date(c(NA,'2019-3-25'))
df <- data.frame(orderID, incoming, outgoing)

df
  orderID   incoming   outgoing
1    1234 2019-03-03       <NA>
2    1234       <NA> 2019-03-25

Я пытаюсь объединить строки для каждой группы в:

df_expected
  orderID   incoming   outgoing
1    1234 2019-03-03 2019-03-25

Я попытался использовать приведенный ниже код dplyr, но он не сработал, как ожидалось - вместо этого я получаю NA. Был бы признателен за помощь, и в dplyr.

#code that didn't work
df %>% group_by(orderID) %>% 
    summarise(incoming=min(incoming), outgoing = min(outgoing))

1 Ответ

0 голосов
/ 25 апреля 2019

Это должно сработать, но вам не хватает опции na.rm = TRUE функции min, чтобы заставить ее работать (поскольку значения NA будут считаться минимальными значениями, если вы не проигнорируете это).Итак, это должно работать:

df %>% 
group_by(orderID) %>% 
summarise(incoming = min(incoming, na.rm = TRUE),
          outgoing = min(outgoing, na.rm = TRUE)
         )

Вывод:

# A tibble: 1 x 3
#   orderID incoming   outgoing  
#   <fct>    <date>       <date>    
#1  1234     2019-03-03   2019-03-25

Надеюсь, это поможет.

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