본문 바로가기
R 언어(프로그래밍) - 기초

R언어 기초 Chapter 5 - Matrix(행렬)

by 푸쓰 2019. 7. 24.
반응형

chapter5_Matrix.R
0.00MB

안녕하세요 푸디헬스입니다.

오늘은 Matrix(매트릭스)의 기초에 대해 포스팅하겠습니다.

먼저 R Studio를 실행시킵니다. 행렬 만들기는 matrix함수를 이용합니다.

nrow : 행의 개수

ncol : 열의 개수

c(1, 2, 3, 4) : c()는 벡터를 생성하는 함수로 숫자, 문자 등등의 값을 가질 수 있습니다.

R Studio에 c(1,2,3,4)를 실행해보시길 바랍니다.

가장 기초적인 행렬입니다.

byrow = T 옵션으로 1 2 3 4 가 행순 서대로 들어가게 할 수 있습니다. 행렬에서 원소 위치는 [행, 열]로 나타냅니다. 열 전체, 행 전체를 선택하기 위해서는 행, 열에 해당하는 위치 인덱스를 생략하면 됩니다. 

y [1,1] : y 행렬에서 1행 1열을 의미합니다

 

y [ ,1] : y 행렬에서 1열을 의미합니다.

 

y [1, ] : y행렬에서 1행을 의미합니다.

 

y [2:3,] 코드는 y행렬에서 2행 3행을 반환하라는 의미입니다. 여기서 2 : 3은 2부터 3까지 숫자를 의미합니다. R Studio에 1:10을 실행시켜보시면 이해가 되실 겁니다.

행렬 관련 함수로는 attributes, class, dim, ncol, nrow 등이 있습니다. 

 

y행렬이 4행 2 열이라는 의미입니다.

y의 class가 matrix라는 의미입니다. class 함수는 각각의 데이터의 속성을 조사할 때 쓰입니다.

 

행렬의 행과 열을 알려줍니다( 순서대로 4행 2열)

ncol : 열

nrow : 행

  • 행렬의 연산

rep() : repeat단어처럼 반복을 할 때 쓰입니다. rep(c(1,2,3), each = 3) : 1,2,3을 각각 3번 반복하라는 의미입니다. 즉 결과는 1 2 3 1 2 3 1 2 3 이 됩니다.

R Studio에 실행시켜보시면 보길 바랍니다.

A+B를 하면 A와 B행렬의 같은 행과 열을 각각 더해줍니다.

각각을 한번 실행시켜 보시면 rep함수에 대해 이해하기 쉬우실 겁니다.

 

A행렬의 각 원소에 2.1을 곱해줍니다.

행렬의 곱셉입니다.

A의 역행렬을 의미합니다

  • 행과 열 추가 및 제거

cbind( column bind) 및 rbind(row bind) 함수를 사용하여 행렬의 크기를 늘릴 수 있습니다.

 

one 행렬의 앞쪽 열에 one 자료를 추가하는 코드입니다. rep(1,4) : 1을 4번 반복합니다. 1 1 1 1

z행렬 앞쪽에 1을 추가하는 코드입니다.

cbind(1, z) : 1만 썼지만 R 프로그램은 크기가 부족하면 앞에 것을 반복해서 쓰는 특징이 있습니다. 그래서 1을 반복해서 집어넣습니다.

 

z행렬 앞쪽에 2를 행에 추가합니다

 

행렬에서의 행 및 열의 제거는 -를 사용하면 됩니다.

 

z행렬에서 2행을 제거합니다.

z행렬에서 1열을 제거합니다.

z행렬에서 1행, 2행을 제거합니다

이외에도  length(z)를 실행시켜 보시길 바랍니다!

그럼 지금까지 matrix(행렬)의 기초에 대해서 포스팅해보았습니다. 꼭 R Studio에 코드를 직접 써서 확인하셔야 실력이 늡니다. 궁금한 거 있으시면 댓글 남겨주시길 바랍니다!!

즐거운 하루 보내세요^^

반응형

댓글