매트릭스 개념
- 1차원 데이터: '몸무게' 데이터와 같은 단일 주제의 데이터 -> 벡터
- 2차원 데이터: '키', '몸무게', '나이'와 같은 여러 주제의 데이터
-> 매트릭스, 데이터 프레임
- 매트릭스(matrix); 데이터 테이블의 모든 셀의 값들이 동일한 자료형
- 데이터 프레임(Data Frame): 자료형이 다른 컬럼들로 구성
매트릭스 만들기
기본
2차원 테이블 형태의 자료구조로, 매트릭스의 모든 셀에 저장되는 값은 동일한 자료형이어야 한다.
z <- matrix(1:20, nrow=4, ncol=5)
z # 매트릭스 z의 내용을 출력
매트릭스에 저장될 값들을 행 방향으로 채우기
z2 <- matrix(1:20, nrow=4, ncol=5, byrow=TRUE)
z2 # 매트릭스 z2의 내용을 출력
기존 매트릭스에 벡터를 추가하여 새로운 매트릭스 만들기
x <- 1:4 # 벡터 x 생성
y <- 5:8 # 벡터 y 생성
z <- matrix(1:20, nrow=4, ncol=5) # 매트릭스 z 생성
m1 <- cbind(x,y) # x와 y를 열 방향으로 결합하여 매트릭스 생성
m1 # 매트릭스 m1의 내용을 출력
m2 <- rbind(x,y) # x와 y를 행 방향으로 결합하여 매트릭스 생성
m2 # 매트릭스 m2의 내용을 출력
m3 <- rbind(m2,x) # 매트릭스 m2와 벡터 x를 행 방향으로 결합
m3 # 매트릭스 m3의 내용을 출력
m4 <- cbind(z,x) # 매트릭스 z와 벡터 x를 열 방향으로 결합
m4 # 매트릭스 m4의 내용을 출력
매트릭스에서의 값 추출
인덱스값을 이용하여 매트릭스에서의 값 추출
- 매트릭스에서 특정 위치에 있는 값을 추출하는 방법은 벡터와 유사
- 값들의 위치를 나타내는 인덱스를 사용하는데, 2차원상에서 위치를 지정하려면 2개 필요 (행렬)
z <- matrix(1:20, nrow=4, ncol=5) # 매트릭스 z 생성
z # 매트릭스 z의 내용 출력
z[2,3] # 2행 3열에 있는 값
z[1,4] # 1행 4열에 있는 값
z[2,] # 2행에 있는 모든 값
z[,4] # 4열에 있는 모든 값
매트릭스에서 여러 개의 값을 동시에 추출
z <- matrix(1:20, nrow=4, ncol=5) # 매트릭스 z 생성
z # 매트릭스 z의 내용 출력
z[2,1:3] # 2행의 값 중 1~3열에 있는 값
z[1,c(1,2,4)] # 1행의 값 중 1, 2, 4열에 있는 값
z[1:2,] # 1, 2행에 있는 모든 값
z[,c(1,4)] # 1, 4열에 있는 모든 값
매트릭스의 행과 열에 이름 지정
매트릭스의 행과 열에 이름을 지정하는 방법
score <- matrix(c(90,85,69,78,
85,96,49,95,
90,80,70,60),
nrow=4, ncol=3)
score
rownames(score) <- c('John','Tom','Mark','Jane’)
colnames(score) <- c('English','Math','Science’)
score
행과 열에 지정한 이름을 이용하여 매트릭스값 추출
score['John','Math’] # John의 수학 성적
score['Tom',c('Math','Science’)] # Tom의 수학, 과학 성적
score['Mark’,] # Mark의 모든 과목 성적
score[,'English’] # 모든 학생의 영어 성적
rownames(score) # score의 행의 이름
colnames(score) # score의 열의 이름
colnames(score)[2] # score의 열의 이름 중 두 번째 값
This post was written based on what I read and studied the book below.
댓글