In R, ho un elemento xe un vettore v. Voglio trovare il primo indice di un elemento vche è 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 xin 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 comematchePositionpotrebbero non restituire il maggior numero di datiwhich, ma non sono necessariamente più efficienti.