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))'。 – 2011-05-19 01:04:58
@Bernd或'lapply(pnorm(aa),function(z){mean(bb
Marek
2011-05-19 11:02:56