R 프로그래밍

준비중..

R 프로그래밍

데이터 통계 및 분석 도구!

04 매트릭스

# 매트릭스 ## 목차 1. 매트릭스란? 2. ## 매트릭스란? 매트릭스란, 행과 열로 이루어진 데이터 구조입니다. 매트릭스는 다음과 같이 생성 할 수 있습니다. ``` # 1부터 9까지 요소를 생성 # 한 줄씩 채워 넣음 # 3행을 갖는도록 함 matrix(1:9, byrow = TRUE, nrow = 3) ``` ## 매트릭스 이름 붙이기 다음과 같은 벡터를 생성해봅시다. ``` tom <- c(96, 82) elena <- c(86, 92) paul <- c(93, 88) ``` 위에서 생성한 벡터를 매트릭스로 만들어 봅시다. ``` vector = c(tom, elena, paul) matrix = matrix(vector, byrow = TRUE, nrow = 3) ``` 생성된 벡터에 이름을 붙여줍시다. ``` names <- c("Tom", "Elena", "Paul") subjects <- c("Math", "English") rownames(matrix) <- names colnames(matrix) <- subjects ``` 최종 matrix를 출력해보면 다음과 같습니다. ``` Math English Tom 96 82 Elena 86 92 Paul 93 88 ``` ## 매트릭스 연산 각 행 별 합계를 내볼까요? ``` total <- rowSums(matrix) ``` 합계 매트릭스를 기존 매트릭스와 합쳐봅시다. cbind() 함수는 매트릭스에 열을 추가시킬 수 있습니다. ``` result <- cbind(matrix, total) ``` result 매트릭스의 출력결과는 아래와 같습니다. ``` Math English total Tom 96 82 178 Elena 86 92 178 Paul 93 88 181 ``` 이번에는 rbind() 함수를 사용하여 행을 추가해 볼까요? ``` john <- matrix(c(90, 90, 180), byrow = TRUE, nrow = 1) rownames(john) <- "John" result <- rbind(result, john) ``` `result` 매트릭스의 결과는 다음과 같습니다. ``` Math English total Tom 96 82 178 Elena 86 92 178 Paul 93 88 181 John 90 90 180 ``` colSums() 함수도 사용해 봐야겠죠? ``` colSums(result) ``` 결과입니다. ``` Math English total 365 352 717 ``` ## 매트릭스 선택 매트릭스의 요소를 선태하는 방법은 다양 합니다. + `matrix[1,1]`: 1행 1열의 요소를 선택 + matrix[1, ]: 1행 전체를 선택 + matrix[ , 1]: 1열 전체를 선택 + matrix[1:3, 2:4]: 1~3행, 2~4열을 선택 ## 매트릭스 연산 매트릭스에 기본적인 연산(`+`, `-`, `*`, `/`)이 가능합니다. ``` # 모든 요소를 10으로 나눔 matrix <- matrix / 10 ``` 수학 과목에 대한 평균을 구해볼까요? ``` math = result[ , 1] mean(math) ``` 수행 결과입니다. ``` # math Tom Elena Paul John 96 86 93 90 # mean(math) [1] 91.25 ```