我有一个数据框“m”,如下所示:

我试图找到每个帐户最活跃的月份(V1的数量最多)。例如,对于帐户“2”,它将是“第6个月”,对于帐户3,它将是“第1个月”,...。

我写了下面的循环,它工作正常,但是即使我只使用了8000行,也花费了很长时间,整个数据集有250,000行,因此下面的代码不可用。有没有人可以建议一种更好的方法来实现这一目标?

非常感谢。

最佳答案

您可以使用plyr做到这一点

library(plyr)
ddply(m, "AccountID", subset, V1==max(V1))

编辑:要按月获取结果,只需更改de“id”变量
library(plyr)
ddply(m, "Month", subset, V1==max(V1))

关于r - R中的慢循环,有什么建议可以加快速度吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10160566/

10-13 09:20