Em R, eu tenho um elemento xe um vetor v. Eu quero encontrar o primeiro índice de um elemento em vque é 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 xfor um vetor? Ou seja, ele deve retornar um vetor de índices indicando a posição de cada elemento de xin 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 gostammatchePositionpodem não retornar tantos dados quantowhich, mas não são necessariamente mais eficientes.