我有兩個向量e
和g
。我想知道e
中的每個元素g
中元素的百分比是否更小。 R中實現這一點的一種方式是:加速功能,使用在一個藍寶石電話R
set.seed(21)
e <- rnorm(1e4)
g <- rnorm(1e4)
mf <- function(p,v) {100*length(which(v<=p))/length(v)}
mf.out <- sapply(X=e, FUN=mf, v=g)
隨着大e
或g
,這需要大量的時間來運行。我如何改變或修改這段代碼以使其運行速度更快?
注意:上面的mf
函數基於dismo包中mess
函數的代碼。
你可以MF切換到'MF < - 功能(P,V){100 *平均值(V <= p)}'但我不確定這會有多大幫助。 – Dason
謝謝Dason,但這似乎需要更多時間 – Paulo
'vapply'而不是'sapply'可能會有所幫助。 –