En R, tengo un elemento x
y un vector v
. Quiero encontrar el primer índice de un elemento en v
que es igual a x
. Sé que una forma de hacerlo es: which(x == v)[[1]]
, pero eso parece excesivamente ineficiente. ¿Hay una forma más directa de hacerlo?¿Hay una función R para encontrar el índice de un elemento en un vector?
Para puntos de bonificación, ¿hay una función que funcione si x
es un vector? Es decir, debe devolver un vector de índices que indique la posición de cada elemento de x
en v
.
Como R está optimizado para trabajar con vectores, 'que (x == v) [[1]]' no es tan ineficiente. Es un operador de comparación ('==') aplicado a todos los elementos del vector y un subconjunto en los índices ('que'). Eso es. Nada que debería ser relevante, siempre y cuando no ejecute 10.000 repeticiones en esta función. Es posible que otras soluciones como 'match' y' Position' no devuelvan tantos datos como 'which', pero no necesariamente son más eficientes. – BurninLeo
Mi pregunta especificaba que preferiría una función que fue vectorizada sobre x, y 'que (x == v) [[1]]' no. –