티스토리 뷰

R

R 행렬(matrix): 생성, 출력, 추가, 분할

Jaime.Lee 2020. 10. 21. 11:06

행렬이란 우리가 익히 알고있는 행과 열로 구성된 2차원 배열입니다. 즉, 같은 데이터 타입을 가지고 있는 두 개 이상의 벡터의 조합이라고 할 수 있습니다.

 

생성

matrix()라는 함수를 이용하여 행렬을 생성할 수 있습니다. matrix()는 세 가지의 필수 파라미터를 가집니다.

> matrix(data, nrow, ncol, byrow = FALSE)
  • data: 행렬을 구성할 요소들의 컬렉션
  • nrow: 행 수
  • ncol: 열 수
  • byrow: row(행)를 기준으로 데이터를 채움, col(열)을 기준으로 채우려면 FALSE(기본값)를 사용

 

  • 행렬 생성
> matrix_test = matrix(1:10, byrow = TRUE, nrow = 5)
> matrix_test
     [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6
[4,]    7    8
[5,]    9   10
> matrix_test = matrix(1:10, byrow = FALSE, nrow = 5)
> matrix_test
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10

 

  • 행렬의 크기 출력(dimension)
> dim(matrix_test)
[1] 5 2

 

  • 4x3 행렬 생성 및 출력
> matrix_test = matrix(1:12, ncol=3)
> matrix_test
     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
[4,]    4    8   12
> dim(matrix_test)
[1] 4 3

 

  • 행렬 병합(cbind, 열병합)
    • 열이 추가되면서 병합됨
> matrix_a = matrix(1:12, ncol = 3)
> matrix_b = matrix(13:24, ncol = 3)
> matrix_c = cbind(matrix_a, matrix_b)
> matrix_c
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    5    9   13   17   21
[2,]    2    6   10   14   18   22
[3,]    3    7   11   15   19   23
[4,]    4    8   12   16   20   24
> dim(matrix_c)
[1] 4 6

 

  • 행렬 병합(rbind, 행병합)
    • 행이 추가되면서 병합됨
> matrix_d = rbind(matrix_a, matrix_b)
> matrix_d
     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
[4,]    4    8   12
[5,]   13   17   21
[6,]   14   18   22
[7,]   15   19   23
[8,]   16   20   24
> dim(matrix_d)
[1] 8 3

 

  • 행렬 분할
> matrix_c
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    5    9   13   17   21
[2,]    2    6   10   14   18   22
[3,]    3    7   11   15   19   23
[4,]    4    8   12   16   20   24

> matrix_c[1,] // 1번 행만 분할
[1]  1  5  9 13 17 21

> matrix_c[,1] // 1번 열만 분할
[1] 1 2 3 4

> matrix_c[1,2] // 1번 행의 2번 열만 분할
[1] 5

> matrix_c[1:3, 2:3] // 1~3행의 2~3열을 분할
     [,1] [,2]
[1,]    5    9
[2,]    6   10
[3,]    7   11 

 

'R' 카테고리의 다른 글

R Factor  (0) 2020.10.21
R 데이터 타입, 수학 & 논리 연산자  (0) 2020.10.20
R 다운로드 & 설치(RStudio, Mac)  (0) 2020.10.19
R 프로그래밍 언어란?  (0) 2020.10.15
댓글