gpt4 book ai didi

r - 合并 data.frame 中的两行

转载 作者:行者123 更新时间:2023-12-04 12:12:02 24 4
gpt4 key购买 nike

类似于 Merge rows in one data.frameMerge two rows in one dataframe, when the rows are disjoint and contain nulls我面临以下问题,上述帖子确实可以提供帮助。

我拥有的数据看起来像这样

| Date     | Checkin | Origin | Checkout | Destination |
| 03-07-17 | 08:00 | A | | |
| 03-07-17 | | A | 09:00 | B |
| 03-07-17 | 17:00 | B | | |
| 03-07-17 | | B | 18:00 | A |
| 04-07-17 | 08:00 | A | | |
| 04-07-17 | | A | 09:00 | B |
| 04-07-17 | 17:00 | B | | |
| 04-07-17 | | B | 18:00 | A |

现在我想将其聚合为 4 行,如下所示:
| Date     | Checkin | Origin | Checkout | Destination |
| 03-07-17 | 08:00 | A | 09:00 | B |
| 03-07-17 | 17:00 | B | 18:00 | A |
| 04-07-17 | 08:00 | A | 09:00 | B |
| 04-07-17 | 17:00 | B | 18:00 | A |

有任何想法吗?
谢谢!

最佳答案

一个想法来自 dplyr ,

library(dplyr)

df %>%
group_by(Date, Origin) %>%
summarise_all(funs(trimws(paste(., collapse = ''))))

 A tibble: 4 x 5
Groups: Date [?]
Date Origin Checkin Checkout Destination
<chr> <chr> <chr> <chr> <chr>
1 03-07-17 A 08:00 09:00 B
2 03-07-17 B 17:00 18:00 A
3 04-07-17 A 08:00 09:00 B
4 04-07-17 B 17:00 18:00 A


数据
dput(df)
structure(list(Date = c(" 03-07-17 ", " 03-07-17 ", " 03-07-17 ",
" 03-07-17 ", " 04-07-17 ", " 04-07-17 ", " 04-07-17 ", " 04-07-17 "
), Checkin = c(" 08:00 ", " ", " 17:00 ", " ",
" 08:00 ", " ", " 17:00 ", " "), Origin = c(" A ",
" A ", " B ", " B ", " A ", " A ", " B ",
" B "), Checkout = c(" ", " 09:00 ", " ",
" 18:00 ", " ", " 09:00 ", " ", " 18:00 "
), Destination = c(" ", " B ", " ",
" A ", " ", " B ", " ",
" A ")), .Names = c("Date", "Checkin", "Origin", "Checkout",
"Destination"), row.names = c(NA, -8L), class = "data.frame")

关于r - 合并 data.frame 中的两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45298997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com