首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多行与不同列中的日期数据组合在一起

将多行与不同列中的日期数据组合在一起
EN

Stack Overflow用户
提问于 2019-04-24 23:28:15
回答 1查看 36关注 0票数 0

我有一个类似于下面的格式的dataframe,尽管在orderID后面还有更多的组,它们需要保持不变:

代码语言:javascript
复制
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

我试图将每个组的行合并为以下几行:

代码语言:javascript
复制
df_expected
  orderID   incoming   outgoing
1    1234 2019-03-03 2019-03-25

我试着使用下面的dplyr代码,但是它并没有像预期的那样工作-我得到的是NAs。希望能提供一些帮助。

代码语言:javascript
复制
#code that didn't work
df %>% group_by(orderID) %>% 
    summarise(incoming=min(incoming), outgoing = min(outgoing))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-24 23:49:57

它应该完成这项工作,但是您缺少了na.rm = TRUE函数的min选项来使其工作(因为如果您不忽略NA值,那么NA值将被视为最小值)。因此,这应该是可行的:

代码语言:javascript
复制
df %>% 
group_by(orderID) %>% 
summarise(incoming = min(incoming, na.rm = TRUE),
          outgoing = min(outgoing, na.rm = TRUE)
         )

输出:

代码语言:javascript
复制
# A tibble: 1 x 3
#   orderID incoming   outgoing  
#   <fct>    <date>       <date>    
#1  1234     2019-03-03   2019-03-25

希望能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55839864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档