Matrix
벡터에 이어 다음 데이터 타입은 Matrix(메트릭스)이다.
한국말로는 행렬이라 불리며 고등학교 때 나를 괴롭게 했던 녀석 중 한 명이다.
이렇게 또 만나게 되어 참 반갑지 않았지만, 이번에는 그때만큼 괴롭진 않았다.
(계산할 일이 있으면 R이 다 해주기 때문 ㅎ)
우리가 메트릭스로 할 것은 데이터를 잘 담아두고 관리하는 것 딱 그것까지이다.
"A matrix is a collection of data elements arranged in a two-dimensional rectangular layout."
메트릭스는 한 가지 자료형을 2차원 사각형의 틀에 모아 둔 것이라 할 수 있겠다.
메트릭스는 matrix 라는 명령어로 메트릭스를 만들 수 있다.
matrix_1 <- matrix( 데이터 값, 행의 수, 열의 수) 를 입력함으로써 형성할 수 있다.
1부터 9까지의 숫자를 세 개의 행으로 구성된 매트릭스를 만들어라~
라는 명령어를 입력했고
위와 같은 데이터가 만들어졌다.
# 9개의 숫자를 3개의 행에 넣으면 자연스럽게 3개의 열이 형성된다. 따라서 ncol = 3 은 생략될 수 있다.
# dim(matrix_1) : 3개의 행, 3개의 열로 구성되었음을 보여준다. 즉 3X3 행렬이다.
# nrow 값을 설정해두지 않으면 1개의 열로 주욱 메트릭스가 형성된다는 것을 알 수 있다.
matrix_3 <- matrix( 1:9, nrow = 3, byrow = TRUE)
# matrix_3 에다가 1부터 9까지의 수를~ 3개 행으로 ~ 행을 따라서 (TRUE값) 만들어라~ 라고 명령어를 쓴 모양이다.
# matrix_1과의 차이점을 살펴보면 matrix_2는 행을 따라 (가로로) 데이터가 입력된 모습을 확인할 수 있다.
메트릭스 또한 벡터처럼 두 가지 이상의 자료형이 입력되었을 때 한 가지 자료형으로 Coercion 되는 모습을 확인할 수 있다.
그리고 메트릭스의 모양을 자세히 살펴보면
행과 열을 따라
[, 1] [, 2]
[1, ]
[2, ]
이런 대괄호와 숫자들이 있는 것이 보인다. 이것으로 우리는 메트릭스 내에 있는 값들을 위치를 알아볼 수 있다.
대괄호 안에는 행과 열이 , (콤마)로 구분된다.
[행, 렬]
이렇게 말이다.
콤마를 찍고 비워두면 행 전체 또는 열 전체를 뜻한다.
즉 [1, ] 이것은 1행을 의미하고
[, 2]는 2열을 의미한다.
메트릭스에 저장된 값들을 불러오고, 수정할 때 유용하게 쓰이는 것이 대괄호이다.
이건 메트릭스의 크기보다 크거나 작은 개수의 값을 넣을 때 생기는 결과이다.
matrix_5 에서는 남는 자리에 다시 1로 돌아가 넣는 모습이 보이고
matrix_6 에는 값을 넣다가 그만둔 모습이 보인다.
그냥 참고사항이다.