티스토리 뷰
반응형
R 에서 데이터를 다루기 위해서는 필수적으로 알아야 하는게 matrix 이다. matrix <--> data.frame <--> tibble 로 왔다갔다 할 줄 알아야 데이터 처리에 능하게 된다. matrix 사용법은 간단하다. 어려운 설정이 거의 없어서 아래 예제만 보면 대략 이해할 수 있다.
matrix(c(0.05, 0.15, 0.0, 0.10, 0.25, 0.25, 0, 0.1, 0.1))
# [,1]
# [1,] 0.05
# [2,] 0.15
# [3,] 0.00
# [4,] 0.10
# [5,] 0.25
# [6,] 0.25
# [7,] 0.00
# [8,] 0.10
# [9,] 0.10
matrix(c(0.05, 0.15, 0.0, 0.10, 0.25, 0.25, 0, 0.1, 0.1), ncol = 3)
# [,1] [,2] [,3]
# [1,] 0.05 0.10 0.0
# [2,] 0.15 0.25 0.1
# [3,] 0.00 0.25 0.1
matrix(c(0.05, 0.15, 0.0, 0.10, 0.25, 0.25, 0, 0.1, 0.1), ncol = 3, byrow = T)
# [,1] [,2] [,3]
# [1,] 0.05 0.15 0.00
# [2,] 0.10 0.25 0.25
# [3,] 0.00 0.10 0.10
R을 이용한 데이터 처리 & 분석 실무: 행렬 생성
thebook.io
dimnames 속성을 지정하면 row 이름과 col 이름을 정할 수 있는데, list 형으로 입력해야 한다. list 안에 2개를 입력하면 하나는 row 이름으로 두번째는 col 이름으로 지정된다. 아래와 같이 출력된다.
matrix(c(0.05, 0.15, 0.0, 0.10, 0.25, 0.25, 0, 0.1, 0.1),
ncol = 3,
dimnames = list(c('row-name-1', 'row-name-2', 'row-name-3'),
c('col-name-1', 'col-name-2', 'col-name-3')))
# 출력결과
# col-name-1 col-name-2 col-name-3
#row-name-1 0.05 0.10 0.0
#row-name-2 0.15 0.25 0.1
#row-name-3 0.00 0.25 0.1
col 별로 평균을 구하고 싶으면 apply 명령어로 수행한다.
m = matrix(c(0.05, 0.15, 0.0, 0.10, 0.25, 0.25, 0, 0.1, 0.1), ncol = 3)
# [,1] [,2] [,3]
# [1,] 0.05 0.10 0.0
# [2,] 0.15 0.25 0.1
# [3,] 0.00 0.25 0.1
apply(m, 2, mean)
# [1] 0.06666667 0.20000000 0.06666667
일부 행 혹은 열을 선택해서 출력하고 싶을 때는 아래처럼 입력한다.
# 전체 행렬
# [,1] [,2] [,3]
# [1,] 0.05 0.10 0.0
# [2,] 0.15 0.25 0.1
# [3,] 0.00 0.25 0.1
# 열(col) 1, 3번째 출력
m[, c(1,3)]
# [,1] [,2]
# [1,] 0.05 0.0
# [2,] 0.15 0.1
# [3,] 0.00 0.1
# 행(row) 1, 3번째 출력.
m[c(1,3),]
# [,1] [,2] [,3]
# [1,] 0.05 0.10 0.0
# [2,] 0.00 0.25 0.1
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 마인크래프트
- 알뜰요금제
- vagrant
- Oracle
- SVN
- ggplot2
- ktm모바일
- eclipse
- MongoDB
- R
- ipTIME
- 맥북
- 이클립스
- 자급제폰
- 셀프개통
- Spring
- MyBatis
- python
- github
- MySQL
- 막대그래프
- heroku
- Google Chart Tools
- 도넛차트
- 아이맥
- docker
- java
- ggplot
- ubuntu
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함