본문 바로가기
R특강/하루만에 끝내는 R 데이터프레임

[하루만에 끝내는 R 데이터프레임] 4. 벡터의 인덱싱

by 만다린망고 2023. 6. 2.
반응형

이번 시간에는 벡터의 인덱싱을 배워봅시다. 인덱싱은 데이터에서 원하는 요소에 접근하는 방법을 말합니다. 벡터의 인덱싱을 확장한 것이 데이터프레임의 인덱싱이므로 벡터의 인덱싱을 먼저 잘 이해해야 데이터프레임의 인덱싱을 잘 할 수 있습니다. 

 

1교시. 강의 소개
2교시. 데이터프레임 정의하고 행이름, 열이름 바꾸기
3교시. 유용한 기본함수 (tail, head, str, dim)
4교시. 벡터의 인덱싱
5교시. 데이터 프레임 원소에 접근하기 (데이터프레임 인덱싱)
6교시. 데이터프레임 열과 행에 접근하기
7교시. 데이터프레임 행 또는 열 제거, 추가, 변경하기
8교시. 특정 조건으로 데이터프레임 추리기
9교시. 여러 데이터프레임 결합하기
10교시. 엑셀파일을 데이터프레임으로 불러오기

인덱싱이 무엇인지 이해하기 위해 벡터를 하나 정의해봅시다. 

v=5:12


5부터 12까지의 자연수로 이루어진 벡터입니다. 

> v
[1]  5  6  7  8  9 10 11 12


벡터의 각 원소에는 번호가 매겨져 있습니다. 첫번째 원소에는 1, 두번째 원소에는 2, n번째 원소에는 n입니다. 이러한 번호를 인덱스라고 합니다. 인덱스를 이용하여 원소를 추출하는 것을 인덱싱이라고 합니다. 

벡터의 인덱싱은 아래와 같은 다섯 가지 종류가 있습니다. 

1) 한 원소 추출
2) 연속한 여러 원소 추출
3) 불 연속한 여러 원소 추출
4) 원소 제거

5) 원소 순서 바꾸기

하나씩 배워봅시다. 

 

1) 한 원소 추출

위에서 정의한 벡터의 첫번째 원소를 추출해봅시다. 벡터 이름 옆에 대괄호를 쓰고, 대괄호 안에 1을 넣어주면 됩니다. 

> v[1]
[1] 5


다섯번째 원소도 한번 추출해봅시다. 

> v[5]
[1] 9

 

2) 연속한 여러 원소 추출

이번에는 연속한 여러 원소를 추출하는 방법을 알아봅시다. 첫번째 부터 세번째 원소를 추출하는 방법은 아래와 같습니다. 

> v[1:3]
[1] 5 6 7


세번째 부터 다섯번째 원소를 추출하는 방법은 아래와 같습니다.

> v[3:5]
[1] 7 8 9


콜론이라는 새로운 기호가 입력된 것 같지만, 벡터가 입력된 것입니다. 1:3 은 c(1,2,3) 이 입력된 것과 같습니다. 

> v[c(1,2,3)]
[1] 5 6 7

 

3) 불 연속한 여러 원소 추출

위에서 이미 힌트를 얻으셨을 겁니다. 대괄호 안에 원하는 인덱스가 들어있는 벡터를 넣어주시면 됩니다.  1,3,5번째 원소를 추출해봅시다. 

> v[c(1,3,5)]
[1] 5 7 9


이번에는 1,2,5번째 원소를 추출해봅시다. 

> v[c(1,2,5)]
[1] 5 6 9

 

4) 원소 제거

대괄호 안에 숫자를 넣을 때 마이너스를 붙이면, 해당 숫자 번째에 해당되는 원소가 제거됩니다. 두번째 원소를 제거해봅시다. 

> v[-2]
[1]  5  7  8  9 10 11 12


1,3 번째 원소를 제거해봅시다. 

> v[-c(1,3)]
[1]  6  8  9 10 11 12

 

5) 원소 순서 바꾸기

벡터 원소의 순서를 바꾸는 방법을 알아봅시다. 벡터를 하나 정의합시다. 

v=c(10,20,30)


20,10,30 으로 순서를 바꾸는 방법은 아래와 같습니다. 

v[c(2,1,3)]


c(2,1,3) 은 두번째,첫번째,세번째 원소 순으로 순서를 바꾼다는 것을 의미합니다. 두번째 원소는 20이었고 첫번째 원소는 10이었으니, 20,10,30 순으로 변경됩니다. 

반응형

댓글