【发布时间】:2011-08-28 11:34:51
【问题描述】:
n<-100000
aa<-rnorm(n)
bb<-rnorm(n)
system.time(lapply(aa, function(z){mean(bb<pnorm(z))}))
运行这个小代码需要很长时间。简单地说,我有两个向量aa 和bb。对于aa的每个元素,比如说aa[i],我想要bb < aa[i]的比例
我找到了这篇文章并尝试使用它来加快速度。但它不起作用。 Speed comparison of sapply with a composite function
任何帮助将不胜感激!
【问题讨论】:
-
只是一个小评论:为什么不在函数之外创建
pnorm(z)?即aa <- pnorm(rnorm(n))。 -
@Bernd 或
lapply(pnorm(aa), function(z){mean(bb<z)})
标签: optimization r loops performance