더북(TheBook)

다음은 세 번째 요소를 제외한 나머지를 얻는 방법이다.

> v1[-3]
[1] 1 2 4

보다시피 패턴이 분명하다. 원하는 부분 집합을 추출하려면 벡터 뒤의 대괄호([ ]) 안에 이에 대응하는 수치형 벡터를 넣으면 된다.

> a <- c(1, 3)
> v1[a]
[1] 1 3

앞선 예제들은 모두 원소 위치를 이용한 방법이다. 즉, 해당 위치를 지정하는 방식으로 벡터의 부분 집합을 얻는다. 음수를 활용하여 해당 위치의 원소를 제외할 수도 있다. 주의할 점은 양수와 음수를 섞어 사용할 수 없다는 것이다.

> v1[c(1, 2, -3)]
Error in v1[c(1, 2, -3)] : only 0's may be mixed with negative subscripts

벡터의 원래 크기를 넘어가는 위치를 사용하여 부분 집합을 구하면 어떻게 될까? 다음 코드는 v1의 세 번째 원소에서 존재하지 않는 여섯 번째까지 부분 집합을 구하는 예제다.

> v1[3:6]
[1] 3 4 NA NA
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.