R 벡터에서 요소의 인덱스 찾기

Manav Narula 2023년1월30일
  1. which()함수를 사용하여 R에서 요소의 인덱스 찾기
  2. match()함수를 사용하여 R에서 요소의 인덱스 찾기
R 벡터에서 요소의 인덱스 찾기

벡터는 R의 기본 데이터 구조 중 하나입니다. 요소를 시퀀스에 저장하는 데 사용되지만 목록과 달리 벡터의 모든 요소는 동일한 데이터 유형이어야합니다.

벡터의 모든 요소에는 특정 위치 또는 인덱스가 있습니다. ‘which()‘및 match()와 같은 R의 내장 함수를 사용하여 모든 요소의 색인을 알 수 있습니다.

이 튜토리얼에서는 다음 벡터의 요소78의 인덱스를 찾습니다.

x <- c(5,6,8,9,7,5,7,8)

which()함수를 사용하여 R에서 요소의 인덱스 찾기

which()함수는 논리 벡터 (이 경우==)와 일치하는 요소의 색인 (또는 색인)이있는 벡터를 반환합니다.

예를 들면 :

x <- c(5,6,8,9,7,5,7,8)
which(x == 7)
[1] 5 7

벡터에 7이 두 번 있으므로 두 위치가 모두 반환됩니다. 7의 첫 번째 인덱스를 원한다면 아래와 같이 간단하게 할 수 있습니다.

which(x == 7)[1]
[1] 5

또한which()함수를 사용하여 일치하는 모든 요소에 대해True 값이있는 벡터를 반환하는%in%매개 변수를 사용하여 여러 요소의 색인을 찾을 수 있습니다.

which(x %in% c(7,8))
[1] 3 5 7 8

보시다시피 78의 모든 위치가 반환됩니다.

match()함수를 사용하여 R에서 요소의 인덱스 찾기

match()함수는which()함수와 매우 유사합니다. 요소의 첫 번째 인덱스 (요소가 우리의 경우와 같이 둘 이상의 위치에있는 경우)를 가진 벡터를 반환하며which()함수보다 빠른 것으로 간주됩니다.

x <- c(5,6,8,9,7,5,7,8)
match(7,x)
[1] 5

또한 아래와 같이 여러 요소의 첫 번째 인덱스를 찾는 데 사용할 수 있습니다.

x <- c(5,6,8,9,7,5,7,8)
match(c(7,8),x)
[1] 5 3

match()함수는78의 첫 번째 위치 만 반환합니다. 이것이 바로 첫 번째 인덱스 만 필요한 상황에서match()가 두 메서드 중 더 빠른 것으로 간주되는 이유입니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - R Vector