티스토리 뷰
큰 데이터를 다루다보면 그룹별 합을 해야하는 경우가 많습니다. 엑셀의 SUMIF 기능이라고 생각하면 간단한데요 R에서 더욱 편리하게 적용할 수 있습니다.
연습 데이터를 다음과 같이 만들었습니다
> v1 <- c("A", "A", "A", "A", "B", "B", "B", "B")
> v2 <- c(2020, 2019, 2020, 2019, 2019, 2020, 2019, 2019)
> v3 <- c(100, 500, 400, 300, 250, 80, 400, 200)
> v123 <- data.frame(v1, v2, v3)
> v123
v1 v2 v3
1 A 2020 100
2 A 2019 500
3 A 2020 400
4 A 2019 300
5 B 2019 250
6 B 2020 80
7 B 2019 400
8 B 2019 200
이 데이터에서 A와 B의 합을 다음과 같이 구할 수 있습니다.
by=list(v123$v1) 를 이용했기 때문에 Group.1 에 A와 B의 값이 들어가 있는것을 볼 수 있습니다.
> aggregate(v123$v3, by=list(v123$v1), FUN=sum)
Group.1 x
1 A 1300
2 B 930
그럼 A, B에다가 년도 정보까지 같이 그룹핑을 하고 싶으면 간단하게 by에 추가를 하면 됩니다.
다음과 같이 추가한 그룹의 갯수만큼 결과를 확인 할 수 있습니다.
> aggregate(v123$v3, by=list(v123$v1, v123$v2), FUN=sum)
Group.1 Group.2 x
1 A 2019 800
2 B 2019 850
3 A 2020 500
4 B 2020 80
여기까지 따라서 연습해보시면 다른 function도 사용해보고싶다는 생각을 하실것 같습니다. 그럼 FUN값을 변경해서 합산(sum) 뿐아니라 max, min, median, mean, sum, length 등 다양하게 응용을 해보시길 바랍니다.
'R' 카테고리의 다른 글
R | 연결된 선이 있는 Bar Plot 그리기(2 samples) (0) | 2020.01.31 |
---|---|
R | 동일한 데이터로 8가지 기본 그래프 그리기 (ggplot) (0) | 2020.01.31 |
R | Clustering된 Heatmap 그리기, pheatmap, (3) | 2020.01.16 |
R | 꼭 알아야할 RStudio기능, 스크립트 빠르게 수정하기, (Crtl + F) (1) | 2020.01.15 |
R | empty vector로 인한 for loop 반복문 문제해결, 필수! (0) | 2020.01.08 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Visualization
- r
- hist
- Python
- coronavirus
- Excel
- Command
- BIOINFORMATICS
- 엑셀
- 코로나바이러스
- Cast
- RStudio
- Order
- Coding
- 팟빵
- comma
- data
- visualizing
- 데이터
- 숫자
- 2진수
- 파이썬
- plot
- covid
- SEQ
- geom_line
- for loop
- format
- Heatmap
- geom_bar
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함