Em R, eu tenho um elemento x
e um vetor v
. Eu quero encontrar o primeiro índice de um elemento em v
que é igual a x
. Eu sei que uma maneira de fazer isso é:, which(x == v)[[1]]
mas isso parece excessivamente ineficiente. Existe uma maneira mais direta de fazer isso?
Para pontos de bônus, existe uma função que funciona se x
for um vetor? Ou seja, ele deve retornar um vetor de índices indicando a posição de cada elemento de x
in v
.
which(x == v)[[1]]
não é.
which(x == v)[[1]]
não é tão ineficiente. É um==
operador de comparação ( ) aplicado a todos os elementos vetoriais e um subconjunto nos índices (which
). É isso aí. Nada que deva ser relevante, desde que você não esteja executando 10.000 repetições nesta função. Outras soluções gostammatch
ePosition
podem não retornar tantos dados quantowhich
, mas não são necessariamente mais eficientes.