빅데이터/R

[R] Matrix 매트릭스 자료 구조

young 2019. 12. 1. 15:29
반응형

행렬(Matrix) 자료구조는 동일한 자료형을 갖는 2차원의 배열구조를 갖는다. 행렬 자료구조의 특징은 다음과 같다.

  • 행과 열의 2차원 배열구조의 객체를 생성한다.
  • 동일한 타입의 데이터만 저장할 수 있다.
  • 행렬 생성 함수: matrix(), rbind(), cbind()
  • 행렬 자료 처리 함수: apply()

열: 변수(Variable), 특성(Feature)

행: 관측치(Observation)

 

R 기본 방식: 열 우선 방식 > 행 우선 방식 (byrow = T)

 

벡터 행렬 객체 생성하기

함수 및 예시 실행 결과 설명
matrix(c(1:5))      [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
[5,]    5
c()함수를 이용하여 1에서 5까지 벡터 자료로 객체 생성
matrix(c(1:5), nrow=2)      [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    1
열 우선[기본] 2행 2열 객체 생성
matrix(c(1:5), nrow=2, byrow=T)      [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    1
행 우선으로 객체 생성
rbind(x, y)   [,1] [,2] [,3]
x    1    2    3
y    3    5    6
행 묶음으로 객체 생성
cbind(x, y)      x y
[1,] 1 3
[2,] 2 5
[3,] 3 6
열 묶음으로 객체 생성
     [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
[5,]    5

 

matrix() 함수 이용 행렬 객체 생성시 사용 되는 인수

인수 설명 (형식: matrix(data=NA, nrow=1, ncol=1, byrow=FALSE,imnames=NULL)
data= 행렬 객체의 대상 자료
nrow= 행렬 객체의 행수 지정
ncol= 행렬 객체의 열수 지정
byrow= 행 우선 순위 여부 지정(FALSE 또는 TRUE)
imnames= 차원 지정

 

행렬 객체 자료 처리 함수 [ ex) x <- matrix(c(1:9), nrow=3, ncol=3) 일 때,]

함수 결과값 설명
length(x) [1] 9 자료의 개수 보기
ncol(x) [1] 3 열의 수
nrow(x) [1] 2 행의 수

apply(x, 1, max)

apply(X, MARGIN, FUN)

X: 행렬 객체

MARGIN: 1 또는 2 (1:행, 2:열)

FUN 행렬 자료에 적용할 함수

[1] 7 8 9 

base 패키지에서 제공되는 함수

사용자 정의 함수에도 적용 가능

 

반응형