我有一个大约25L行的大型数据集,其中应用了此功能“status”。这是一个标志性的程序。在fn内部,操作被向量化并且使用应用函数。 c1-c4是我数据中的列。执行fn还需要5-6小时。
{{1}}
有没有办法进一步加快fn。我在一个有16个核心的服务器上工作。所以我相信它可以进一步加快。
答案 0 :(得分:0)
也许data.table
方法比尝试并行化代码要快,但我需要您的数据样本以确保此答案解决您的问题:
library(data.table)
setDT(mydata)
mydata[ RECORD_TYPE != "INPUT",
.(var1 = ifelse (!(any(c2=="BAD")), "G", sum(c2== "BAD")),
var2 = sum (c2D== "NEG")), by= c4]