728x90
반응형
https://metime.tistory.com/142
여기서 배운 그룹 연산을 정리해보도록 하겠다.
tappy는 데이터 프레임으로 output이 출력되지 않기 때문에 잘 사용하지 않으므로 넘어가겠다.
1. aggregate 1번 문법
- 연산 대상 컬럼이 많을 경우 유리하다.
- 외부 객체를 사용할 수 있다.
- 여러 연산함수 전달이 불가하다(ddply 사용 가능).
aggregate(emp[,-1], list(emp$DEPTNO), max)
aggregate(emp[,c(‘SAL’, ‘COMM’, ‘EMPNO’)], list(emp$DEPTNO), mean)
이러한 형식으로 사용이 가능하다.
2. aggregate 2번 문법
- 연산 대상을 일일이 cbind로 묶어야 한다.
- 외부 객체 전달이 불가하다.
- 가독성이 좋은 문법이다.
- 여러 연산함수 전달이 불가하다(ddply 사용 가능)
aggregate(cbind(SAL, COMM, EMPNO) ~ DEPTNO, emp, mean)
이런 형식으로 사용이 가능하다.
728x90
3. plyr::ddply
- 가급적 단순한 연산에 대한 그룹핑을 한다.
- transform() 기능 사용이 가능하다.
- subset 기능 사용이 가능하다.
- 여러 연산 함수 전달이 가능하다.
아래는 tranform과 subset의 연산 결과 차이를 보여준다.
wide 데이터의 경우 aggregate가 유리한 경우가 많다.
728x90
반응형
'배우기 > 복습노트[R과 분석]' 카테고리의 다른 글
[복습] R(programming language)에서의 순위(rank, dense_rank) + 하루끝(20231204) (0) | 2023.12.04 |
---|---|
[복습] R(programming language)에서의 정렬(order, sort, orderBy, arrange) (0) | 2023.12.04 |
[복습] R(programming language) 그룹 연산 기능인 aggregate 함수가 갖는 장점(외부 객체로의 그룹 연산) (0) | 2023.12.04 |
[실습문제] 2023. 12. 1.(금) (4문제) (0) | 2023.12.04 |
[실습문제] 2023. 11. 30.(목) (2문제) (0) | 2023.12.04 |