Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 순위출력
- loop 문
- 빅데이터
- difftime
- 정보획득량
- 데이터분석
- 불순도제거
- 상관관계
- sqld
- if문 작성법
- max
- 막대그래프
- 히스토그램 그리기
- 회귀분석 알고리즘
- 그래프 생성 문법
- 총과 카드만들기
- 여러 데이터 검색
- %in%
- 단순회귀 분석
- 데이터분석가
- merge
- 그래프시각화
- count
- Intersect
- 회귀분석
- 팀스파르타
- Dense_Rank
- 빅데이터분석
- Sum
- sql
Archives
- Today
- Total
ch0nny_log
[빅데이터분석] R _ 22. 그룹함수 MAX / MIN 본문
★ [2024년 6월 28일 점심시간 문제]
아래의 SQL을 R 로 구현하시오 ! 1)SQL
현직 데이터 분석가로 일하고 있는 선배 기수가 입사지원시 면접장에서 받았던 쪽지시험 문제 예시입니다. 2) R
|
※ 그룹함수 | ||
SQL | VS | R |
MAX | MAX | |
MIN | MIN | |
SUM | SUM | |
AVG | MEAN | |
COUNT | LENGTH(세로) | |
TABLE(가로) |
■ max
max(값 칼럼명)
문제 1. 사원테이블에서 최대 월급을 출력하시오.
1) SQL
select max(sal) from emp;
2) R
max(emp$sal)
문제 2. 직업이 salesman 인 사원들의 최대월급을 출력하시오.
1) SQL
select max(sal) from emp where job='SALESMAN';
2) R
a <-emp[emp$job=='SALESMAN',c('sal')] max(a)
■ group by
aggregate(값 칼럼명 ~그룹핑할 칼럼명, 테이블명, 그룹함수)
문제 3. 부서번호, 부서번호별 최대월급을 출력하시오.
1) SQL
select deptno, max(sal) from emp group by deptno;
2) R
aggregate(sal~deptno,emp,max)
■ 칼럼이름 변경
aggregate(값 칼럼명 ~그룹핑할 칼럼명, 테이블명, 그룹함수)
x <- aggregate(sal~deptno,emp,max) names(x) <- c('job','maxsal') #컬럼 이름 변경하기
문제 1. 직업, 직업별 토털이름을 출력하시오.
1) SQL
select job, sum(sall) from emp group by job;
2) R
x <- aggregate(sal~job,emp,max) names(x) <- c('job','maxsal') #컬럼 이름 변경하기 x
■ MIN
문제 1. 직업, 직업별 최소월 급을 출력하시오.
1) SQL
select job,min(sal) from emp group by job,
2) R
x <- aggregate(sal~job,emp,min) names(x) <- c('직업','최소월급급') #컬럼 이름 변경하기 x
문제 2. 부서번호, 부서번호별 최소월급을 출력하는데 부서번호별 최소월급이 높은 것부터 출력하시오.
1) SQL
2) Rselect deptno, min(sal) from emp group by deptno order by min(sal) desc;
x <- aggregate(sal~deptno,emp,min) names(x) <- c('부서번호','최소월급') #컬럼 이름 변경하기 library(doBy) orderBy(~-최소월급,x)
※ SQL(to_char ( 칼럼명, '999,999') -> formax( 칼럼명, , big.mark = ', ', scientific = F)
x$최소월급 <- format(x$최소월급,big.mark = ',',scientific = F)
print(x)
설명: scientific=F는 1e +03(1000을 의미)으로 출력되는 것을 방지하기 위해서 사용한 옵션임. (지수 표기법)
0.000000000000001 <- 아주작은숫자 / 100000000000001 <- 아주 큰 숫자 를 표현할 때 '지수 표기법'이 유용
'빅데이터 분석(with 아이티윌) > R' 카테고리의 다른 글
[빅데이터분석] R _ 24. 그룹함수 SUM (0) | 2024.06.28 |
---|---|
[빅데이터분석] R _ 23. 그룹함수 LENGTH(세로)/TABLE(가로)/원형그래프) (0) | 2024.06.28 |
[빅데이터분석] R _ 21. 일반함수(ifelse) (0) | 2024.06.27 |
[빅데이터분석] R _ 20. 데이터 변환 함수 (0) | 2024.06.27 |
[빅데이터분석] R _ 19. 날짜연산 (0) | 2024.06.27 |