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