【发布时间】:2020-08-11 06:15:24
【问题描述】:
我有一个如下的数据框
ClientVisitGUID LineNum TextCol
1 1 This was a great
1 2 report I did
2 3 was performed today
2 1 Another great report
2 2 for this person
3 2 good stuff
3 1 I really write very
3 3 when I put my
3 4 mind to it
我想根据ClientVisitGUID 和行号连接行,以便获得以下输出
ClientVisitGUID TextCol
1 This was a great report I did
2 Another great report for this person was performed today
3 I really write very good stuff when I put my mind to it
我尝试了dplyr,但它需要很长时间并且无法处理我所拥有的数千行
resultset2<-resultset %>%
group_by(ClientVisitGUID) %>%
arrange(LineNum) %>%
summarize_all(paste, collapse=",")
有没有更快的方法?我对 data.table 不是很熟悉,但这很快吗?
【问题讨论】:
-
我不是 data.table 用户。我知道它超级快,但它不如 dplyr 友好。您是否尝试过并行化您的工作? (blog.aicry.com/multidplyr-dplyr-meets-parallel-processing/…)。您还可以手动将 tibble 拆分为块并将 group-by 应用于每个块,然后合并。
-
@lmeninato 我确实想到了这一点,但想看看是否有一个简单的 dplyr 替代方案就足够了。我认为我最终不得不并行化。谢谢
标签: r performance dplyr data.table concatenation