응_비 2022. 6. 22. 23:12

https://kilhwan.github.io/rprogramming/ch-R-Matrix.html

 

Chapter 4 R 행렬 | R 프로그래밍 (개정판)

이 책은 경영정보시스템실습의 주교재로 사용되기 위해 개발되었습니다.

kilhwan.github.io

matrix()

matrix(값, nrow = 행(가로)의수, ncol = 열(세로)의수)

byrow = T (행, 가로) , byrow = F (열, 세로) 

matrix() 함수를 이용하면 데이터 벡터를 데이터 행렬로 변환시킬 수 있다. 

> m <- matrix(n, nrow=2, ncol=5)
> m

matrix()는 열을 순서대로 채워나간다.

벡터의 요소는 차례대로 1열의 1행을 채우고 2행을 채운다. 그리고 난 후 2열의 모든 행을 순서대로 채운다. 이러한 방식으로 차례차례 모든 열의 데이터를 채워 나감을 볼 수 있다. 만약 열이 아니라 행을 차례대로 채워나가면서 행렬을 만드고 싶으면 byrow=TRUE 인수를 사용하면 된다.

> matrix(n, nrow=2, ncol=5, byrow=T)

byrow=T 이므로, 행을 순서대로 채워나간 것

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    6    7    8    9   10

벡터를 결합하여 행렬 만들기

cbind()와 rbind()

기존의 벡터나 행렬을 열이나 행으로 묶어서 새로운 행렬을 만들 수 있다.

아래 예는 벡터를 cbind()와 rbind() 함수를 이용하여 열 또는 행으로 묶은 경우이다.

> cbind(1:5, 10:6)

cbind() : 행을 기준으로, 열(세로)을 덧붙임

     [,1] [,2]
[1,]    1   10
[2,]    2    9
[3,]    3    8
[4,]    4    7
[5,]    5    6

 

> rbind(1:5, 10:6, 11:15)

rbind() 함수 : 열을 기준으로, 행(가로)을 덧붙임

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]   10    9    8    7    6
[3,]   11   12   13   14   15

Paste0

 
paste('a','b','c','d','e', sep='') 
[1] "abcde" 

paste0('a','b','c','d','e') 
[1] "abcde"

paste0은 paste함수에서 sep=''를 적용해 준 것과 같이 각각의 원소를 공백없이 이어주는 함수입니다.