티스토리 뷰
Basic Matrix
1. 행렬(Matrix)
행(row), 열(columns)로 구성된 2차원 구조이다.
벡터처럼 하나의 데이터 유형만 가진다.
벡터화(Vectorization), 재사용규칙(recycling)이 적용된다
1.1 행렬 만들기(To make matrix)
기본 : matrix(vector, nrow = , ncol = )
# nrow : 행의 개수
# nrow : 열의 개수
# 행부터 채운다
(1) rbind(vector1, vector2, ...)
# bind vector based on row
> v1 <- 1:3 > v2 <- 4:6 > rbind(v1,v2) [,1] [,2] [,3] v1 1 2 3 v2 4 5 6
(2) cbind(vector1, vector2, ...)
# bind vectors base on column
> cbind(v1, v2) v1 v2 [1,] 1 4 [2,] 2 5 [3,] 3 6
1.2 slicing
# matrix[row, col]
> A <- matrix(1:4, nrow = 2, ncol = 2) > A [,1] [,2] [1,] 1 3 [2,] 2 4 > A[1 , ] # 1행 추출 : 벡터 [1] 1 3 > A[ , 2] # 2행 추출 : 벡터 [1] 3 4 > B <- matrix(1:6, nrow = 2, ncol = 3) > B [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 > B[ , 2] # 벡터로 출력 [1] 3 4 > B[ , 2, drop = FALSE] # 행렬을 유지하라 [,1] [1,] 3 [2,] 4 > B[ , 2:3] # 행렬 [,1] [,2] [1,] 3 5 [2,] 4 6 > B[1, 3] [1] 5
1.3 행렬의 연산 : 덧셈, 뺄셈, 곱셈, 역행렬 ,전치행렬
> A <- matrix(1:4, nrow = 2, ncol = 2) > B <- matrix(5:8, nrow = 2, ncol = 2) > A + B # B + A 결과가 같다.(교환법칙) [,1] [,2] [1,] 6 10 [2,] 8 12 > A - B # A - B 결과가 다르다.(교환법칙 성립x) [,1] [,2] [1,] -4 -4 [2,] -4 -4 > A %*% B # 곱셈 [,1] [,2] [1,] 23 31 [2,] 34 46 > B %*% A # 교환법칙 성립x [,1] [,2] [1,] 19 43 [2,] 22 50
# 역행렬(Inverse Matrix)
# 역행렬 조건 (1.정방행렬, 2. 행렬식이 0이 아니다. a11*a22-a12*a21) : solve(matrix)
> solve(A) [,1] [,2] [1,] -2 1.5 [2,] 1 -0.5 > A %*% solve(A) [,1] [,2] [1,] 1 0 [2,] 0 1 > solve(A) %*% A [,1] [,2] [1,] 1 0 [2,] 0 1
> #문제 > # x + y = 3 > # x - y = 1 > A <- matrix(c(1, 1, 1, -1), nrow = 2, ncol = 2) > B <- matrix(c(3,1), nrow = 2, ncol = 1) > A [,1] [,2] [1,] 1 1 [2,] 1 -1 > B [,1] [1,] 3 [2,] 1 > solve(A) %*% B [,1] [1,] 2 [2,] 1
# 전치행렬(Transpose matrix) : t(matrix)
# 행과열을 바꿈
> t(A) [,1] [,2] [1,] 1 1 [2,] 1 -1
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Kaggle
- vector
- rbase
- 빅데이터
- ADP
- 데이터형태
- 타입
- 병합
- 함수
- 우분투
- 실기
- 빅데이터분석
- 리눅스
- data.table
- 데이터구조
- 실습
- 기초
- 빅데이터분석전문가
- Bigdata
- 벡터
- 데이터분석
- Jupyter notebook
- R
- ADSP
- Titanic
- 분석
- 16.04
- RStudio
- data.frame
- subset
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함