【发布时间】:2022-08-10 23:45:35
【问题描述】:
问题
我有一个非常大的数据框,其中包含约 60 列和约 12M 行,我想为训练模型做准备。
为了加快整个过程,我喜欢通过仅获取唯一行及其案例权重(它们出现的频率)来折叠数据框。
所以从这个数据框开始:
V1 | V2 | V3
------------
A | B | A
A | B | A
C | C | A
C | C | A
C | C | A
到这个数据框:
V1 | V2 | V3 | weights
----------------------
A | B | A | 2
C | C | A | 3
当前方法
目前我使用dplyr 逻辑来做到这一点,它有效但也需要永远:
library(dplyr)
df %>% group_by_all() %>% count()
有没有更好的,尤其是计算速度更快的方法?也许甚至在阅读csv而不是之后这样做?
-
如果您使用可执行代码构建示例
df(例如,在您最后手动构建它,并使用dput()输出代码以重现它,那么人们会更容易帮助您。或者只是向我们展示手册的代码建造。)