ch0nny_log

[빅데이터분석] R _ 24. 그룹함수 SUM 본문

빅데이터 분석(with 아이티윌)/R

[빅데이터분석] R _ 24. 그룹함수 SUM

chonny 2024. 6. 28. 11:24
문제1. 직업, 직업별 토탈월급을 출력하시오.
1) SQL
select job, sum(sal)
	from emp
    group by job;​
2) R
x <- aggregate( sal ~ job, emp, sum )
names(x) <- c("직업", "토탈월급")
x
문제2. 직업, 직업별 토탈월급을 가로로 출력하시오.
1) SQL
select sum( decode(job, 'ANALYST', sal, null )  ) as  "ANALYST", 
                sum( decode(job, 'CLERK', sal, null )  ) as  "CLERK", 
                sum( decode(job, 'MANAGER', sal, null )  ) as  "MANAGER", 
                sum( decode(job, 'SALESMAN', sal, null )  ) as  "SALESMAN", 
                sum( decode(job, 'PRESIDENT', sal, null )  ) as  "PRESIDENT", 
 from  emp;​

2) R
tapply(emp$sal, emp$job, sum)​
문제3. 위의 문제를 원형 그래프로 시각화 하시오. 
total_sal<- tapply(emp$sal, emp$job, sum)
pie(total_sal,
    main='직업별 토탈월급의 원형 그래프',
    col=c('skyblue','coral','seagreen','gold','orchid'),
    labels = paste(names(total_sal),'\n',total_sal))​

설명: \n <- 줄바꿈

ex) job \n sal 
clerk
4150

문제 4. 부서번호, 부서번호별 토탈월급을 가로로 출력하시오. 
total_sal<- tapply(emp$sal, emp$deptno, sum)
total_sal​

문제 5. 위의 결과를 원형 그래프로 시각화하시오.
total_sal<- tapply(emp$sal, emp$deptno, sum)
pie(total_sal,
    main='부서번호호별 토탈월급의 원형 그래프',
    col=c('skyblue','coral','seagreen','gold','orchid'),
    labels = paste(names(total_sal),'\n',total_sal))​