R에는 요소 x
와 벡터가 v
있습니다. 나는에 요소의 첫 번째 인덱스를 찾으려면 v
그와 같다 x
. 이 작업을 수행하는 한 가지 방법은 다음 which(x == v)[[1]]
과 같습니다 . , 그러나 그것은 너무 비효율적입니다. 더 직접적인 방법이 있습니까?
보너스 포인트의 경우 x
벡터 인 경우 작동하는 함수가 있습니까? 즉, 그것은 각각의 요소의 위치를 나타내는 지표 벡터 돌려 x
하여 v
.
내 질문은 x보다 벡터화 된 함수를 선호한다고 지정했지만
—
Ryan C. Thompson
which(x == v)[[1]]
그렇지 않습니다.
which(x == v)[[1]]
되었으므로 그다지 비효율적이지는 않습니다.==
모든 벡터 요소에 적용되는 하나의 비교 연산자 ( )와 인덱스 (which
) 에 대한 하나의 하위 설정 입니다. 그게 다야. 이 기능에 대해 10.000 반복을 실행하지 않는 한 관련성이 없습니다. 다른 솔루션 좋아match
하고Position
많은 데이터로 반환하지 않을 수 있습니다which
,하지만 그들은 반드시 더 효율적 아니에요.