Ho due vettori e
e g
. Voglio sapere per ogni elemento in e
la percentuale di elementi in g
che sono più piccoli. Un modo per implementare questo in R è:Accelerazione della funzione che utilizza all'interno di una semplice chiamata 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)
Con grande e
o g
, questo richiede un sacco di tempo per l'esecuzione. Come posso modificare o adattare questo codice per rendere questa esecuzione più veloce?
Nota: la funzione mf
precedente si basa sul codice dalla funzione mess
nel pacchetto dismo.
si potrebbe cambiare mf a 'mf <- la funzione (p, v) {100 * media (v <= p)} 'ma non sono sicuro di quanto possa essere d'aiuto. – Dason
Grazie a Dason, ma sembra che ci voglia più tempo " – Paulo
" vapply "invece di" sapply "sarà probabilmente d'aiuto. –