【发布时间】:2016-02-09 22:37:59
【问题描述】:
我目前有一个如下的 for 循环,但它的运行速度没有我想要的那么快。
library(dplyr)
DF<-data.frame(Name=c('Bob','Joe','Sally')) #etc
PrimaryResult <- Function1(DF)
ResultsDF<-Function2(PrimaryResult)
for(i in 1:9)
{
Filtered<-filter(DF,Name!=PrimaryResult[i,2])
NextResult <- Function1(Filtered)
ResultsDF<-rbind(ResultsDF,Function2(NextResult))
}
代码获取 Function1 的初始结果(名称列表)并再次尝试,初始结果中的每个名称都被单独排除以提供替代结果。这些通过 Function2 作为单行数据框返回并附加到结果数据框。
我怎样才能加快速度?
【问题讨论】:
-
for 循环几乎肯定不是慢的部分——可能是你的 Function2 慢。您应该首先profile your code 找出真正慢的地方并加以改进。