천선생의 삶
[R] 데이터 유형에 따른 정리(2) - matrix 본문
안녕하세요. 천선생입니다.
고등학교시절, 기하와 벡터 시간에 만나보셨던 행렬을 기억하시나요?
이 포스트에서는 지난시간에 다룬 vector(https://cheon9.tistory.com/7)에 이어 matrix에 대해 알아보도록 하겠습니다.
- MATRIX?
매트릭스란 동일 데이터 타입을 갖는 2차원 배열을 의미합니다.
벡터와 같이, 매트릭스는 동일한 데이터 타입을 가져야 합니다!
이는 매트릭스를 다루는 데 있어서, 가장 조심해야 할 부분이기도 합니다.
- CODE
매트릭스를 저장할 때는, matrix 라는 함수를 사용합니다.
이때, 동일한 데이터 타입을 가져야 하므로, 각 원소들을 벡터로 지정한 뒤에 저장하는 것이 편리합니다.
또한, 매트릭스의 모양을 결정하는 부분에 있어서 ncol과 nrow라는 인자를 설정할 수 있으며,
벡터의 값이 들어가는 방향을 결정함에 있어 가로 / 세로 순서를 byrow 라는 인자로 결정합니다.
#매트릭스 저장 예제
A <- matrix(1:20, nrow = 4, byrow = T) # nrow가 지정되면, ncol은 자동으로 설정됩니다. (반대상황도 가능)
B <- matrix(letters[1:20], ncol = 5) # 행렬이라는 개념에 빠져서, 수치만 넣는 경우도 있으나 문자도 가능합니다.
- INDEXING?
이번에는 매트릭스에 인덱스를 통하여 접근하는 방법을 알아보겠습니다.
매트리스는 2차원 배열로, 행 / 열 2가지의 인덱스를 갖습니다!
따라서 2종류의 인덱스를 입력해야 하며, 하나를 입력하지 않으면 입력하지 않은 행 / 열의 모든 값에 접근합니다.
#인덱싱 예
A <- matrix(1:15, ncol = 3)
# [,1] [,2] [,3]
# [1,] 1 6 11
# [2,] 2 7 12
# [3,] 3 8 13
# [4,] 4 9 14
# [5,] 5 10 15
A[1, 3] # (1, 3)에 위치한 값 호출
# 11
A[1] # 1이라는 값을 반환하지만, 올바른 호출방식이 아닙니다.
A[2, ] # 2행에 해당하는 모든 값
# 2 7 12
'Data Analysis > R Basic' 카테고리의 다른 글
[R] 조건문 활용하기 - if, else, if else (0) | 2019.07.10 |
---|---|
[R] 데이터 유형에 따른 정리(5) - dataframe (0) | 2019.07.09 |
[R] 데이터 유형에 따른 정리(4) - list (0) | 2019.07.08 |
[R] 데이터 유형에 따른 정리(3) - array (0) | 2019.07.07 |
[R] 데이터 유형에 따른 정리(1) - vector (0) | 2019.07.05 |
Comments