In R, ho un elemento x
e un vettore v
. Voglio trovare il primo indice di un elemento v
che è uguale a x
. So che un modo per farlo è:, which(x == v)[[1]]
ma sembra eccessivamente inefficiente. C'è un modo più diretto per farlo?
Per i punti bonus, esiste una funzione che funziona se x
è un vettore? Cioè, dovrebbe restituire un vettore di indici che indica la posizione di ciascun elemento di x
in v
.
which(x == v)[[1]]
non lo è.
which(x == v)[[1]]
non è molto inefficiente. È un==
operatore di confronto ( ) applicato a tutti gli elementi vettoriali e un sottoinsieme sugli indici (which
). Questo è tutto. Nulla che dovrebbe essere rilevante, purché non si eseguano 10.000 ripetizioni su questa funzione. Altre soluzioni comematch
ePosition
potrebbero non restituire il maggior numero di datiwhich
, ma non sono necessariamente più efficienti.