27. 행렬 정의하기 matrix
1. 행렬 정의하기
행렬은 하나의 벡터를 행과 열로 나누는 방식으로 정의합니다. 3x3행렬을 만들고 싶다면, 원소가 9개인 벡터를 정의하고 원소 세 개씩 세 줄로 나열하는 것입니다.
예를 들어봅시다.
> vec=c(1,2,3,4,5,6,7,8,9)
> matrix(vec,ncol=3)
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
ncol은 열의 수, 즉 세로줄의 수를 뜻합니다. nrow(가로줄의 수)를 정의해도 됩니다.
> matrix(vec,nrow=3)
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
행렬 안에 벡터를 직접 정의해줄 수도 있습니다.
> mat=matrix(c(1,2,3,4),ncol=2)
> mat
[,1] [,2]
[1,] 1 3
[2,] 2 4
2. 가로로 나열하기
벡터를 정의하고 행렬을 만들면, 세로를 먼저 채워나갑니다. 가로를 먼저 채우는 행렬을 만드려면 옵션을 설정해주어야 합니다. byrow=T 를 추가해주면 됩니다.
> mat=matrix(c(1,2,3,4),ncol=2,byrow=T)
> mat
[,1] [,2]
[1,] 1 2
[2,] 3 4
3. 행과 열에 이름 붙이기
행과 열에 이름을 붙일 때는 dimnames 라는 옵션을 설정해주어야 합니다. list로 정의해주면 됩니다. 예를 들어봅시다.
> mat=matrix(c(1,2,3,4),ncol=2,
+ dimnames=list(c("a1","a2"),c("b1","b2"))
+ )
> mat
b1 b2
a1 1 3
a2 2 4
영상이 더 편하신 분
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R 강의] 29. 행렬의 연산(덧셈,곱셈) (0) | 2020.03.19 |
---|---|
[R 강의] 28. 행렬 내부 데이터에 접근하기 (0) | 2020.03.19 |
[R 강의] 26. 산점도(scatter plot) 그리기, 꾸미기 (0) | 2020.03.18 |
[R 강의] 25. 함수 정의 해보기(평균을 구해주는 함수) (0) | 2020.03.18 |
[R 강의] 24. 반복문 repeat (0) | 2020.03.18 |
댓글