brunch

You can make anything
by writing

C.S.Lewis

by 워녁s토리 Apr 10. 2017

Learning R: 데이터 구조(2) Matrix

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 에는 값을 넣다가 그만둔 모습이 보인다.


그냥 참고사항이다. 

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari