728x90
반응형
🧱 메트릭스란?
- 숫자(또는 같은 타입의 값들)를 행(row)과 열(column)로 배치한 2차원 구조
- 각 위치는 [i, j]처럼 행 번호, 열 번호로 접근 가능
- 수학적으로는 m × n 행렬이라고 부른다
[1,] 1 5 9
[2,] 2 6 10
🛠️ 메트릭스 만드는 3가지 방법
1. matrix() 함수 사용
matrix(nrow=2, ncol=3)
→ NA로 초기화된 2×3 행렬 생성
왼쪽 위부터 column-wise 방식으로 값이 채워짐
matrix(1:6, nrow=2, ncol=3)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
2. dim()으로 차원 설정
m <- 1:10
dim(m) <- c(2, 5)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
→ 1부터 10까지의 값을 2행 5열로 재구성
3. rbind() 또는 cbind()로 결합
cbind 으로 열 결합
x <- 1:3; y <- 10:12
cbind(x, y) # 열 결합
x y
[1,] 1 10
[2,] 2 11
[3,] 3 12
rbind 으로 행 결합
x <- 1:3; y <- 10:12
rbind(x, y) # 행 결합
[,1] [,2] [,3]
x 1 2 3
y 10 11 12
🧪 다양한 예제
1~20까지 숫자를 column-wise (열 기준) 으로 채운 4행 5열 행렬
matrix(1:20, 4, 5)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
값 2를 4행 5열 전체에 채운 행렬
matrix(2, 4, 5)
[,1] [,2] [,3] [,4] [,5]
[1,] 2 2 2 2 2
[2,] 2 2 2 2 2
[3,] 2 2 2 2 2
[4,] 2 2 2 2 2
행 기준(byrow=TRUE)으로 값을 채운 2행 3열 행렬
matrix(c(1,2,3,4,5,6), nrow=2, byrow=TRUE)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
✍️ 행렬 인덱싱 & 이름 지정
z <- matrix(1:20, nrow=4, ncol=5)
rownames(z) <- c("a", "b", "c", "d")
colnames(z) <- c("alpha", "beta", "gamma", "delta", "eps")
z
alpha beta gamma delta eps
a 1 5 9 13 17
b 2 6 10 14 18
c 3 7 11 15 19
d 4 8 12 16 20
z[1, 2]
[1] 5
z[4, ]
alpha beta gamma delta eps
4 8 12 16 20
z[ ,5]
a b c d
17 18 19 20
z["a", "alpha"]
[1] 1
➕ 행렬 연산
R의 행렬 연산은 동일 위치 요소끼리 계산하는 element-wise 방식이 기본!
A <- matrix(1:6, nrow=2, ncol=3)
B <- matrix(c(6, 5, 4, 3, 2, 1), nrow=2, ncol=3)
A
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
B
[,1] [,2] [,3]
[1,] 6 4 2
[2,] 5 3 1
A + B
[,1] [,2] [,3]
[1,] 7 7 7
[2,] 7 7 7
A - B
[,1] [,2] [,3]
[1,] -5 -1 3
[2,] -3 1 5
A * B
[,1] [,2] [,3]
[1,] 0.1666667 0.75 2.5
[2,] 0.4 1.333333 6.0
📌 오늘의 한줄 요약
벡터가 1차원이라면, 메트릭스는 벡터의 확장 버전임
행과 열을 마음대로 다루고, 붙이고, 이름 붙이고, 연산도 가능한 진짜 강력한 도구였다
728x90
반응형
'직장인 대학원 > R' 카테고리의 다른 글
[R] 범주형 데이터 (Factor) (0) | 2025.04.18 |
---|---|
[R] 리스트 (List) (0) | 2025.04.18 |
[R] 벡터(Vector) (0) | 2025.04.18 |
[R] 기본 객체와 자료 형태 (1) | 2025.04.18 |
[R] 산술 연산 (0) | 2025.04.18 |
댓글