[英]Combining multiple rows with date data in different columns
我有一個類似於以下格式的數據框,雖然我在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))
它應該完成這項工作但你缺少min
函數的na.rm = TRUE
選項才能使它工作(因為如果不忽略它, 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
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.