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
- %in%
- max
- merge
- 정보획득량
- 막대그래프
- Dense_Rank
- 상관관계
- difftime
- Sum
- 회귀분석
- loop 문
- 빅데이터
- 불순도제거
- 그래프시각화
- 데이터분석가
- 그래프 생성 문법
- Intersect
- 빅데이터분석
- if문 작성법
- 팀스파르타
- 히스토그램 그리기
- sql
- sqld
- 데이터분석
- 순위출력
- 총과 카드만들기
- 단순회귀 분석
- count
- 여러 데이터 검색
- 회귀분석 알고리즘
Archives
- Today
- Total
ch0nny_log
[빅데이터분석] R _ 31. 순위 출력 (rank) 본문
문제1. 이름, 월급, 월급에 대한 순위를 출력하시오.
1) SQL
2) Rselect ename, sal, rank() over(order by desc) 순위;
emp$rnk <- rank( -emp$sal, ties.method="min") emp[ order( emp$rnk, decreasing=F) , c("ename", "sal", "rnk") ]
설명: rank( -emp$sal, ties.method="min") 여기서 마이너스(-) 를 써야 월급이 높은 사원부터 순위를 부여합니다.
※ ties.method 의 옵션 이란? ?
1. min : 오라클의 rank 함수와 똑같음
2. max: 2등이 두명이면 둘다 3등으로 출력함.
3. first: 오라클의 rank와 같은데 순위가 같은 데이터가 있으면 인덱스 순서가 먼저 나온 데이터를 높은 순으로 부여함.
문제2. 아래의 SQL을 R 로 구현하시오.
1) SQL
2) Rselect ename, sal, rank() over (order by sal desc) 순위 from emp where job='SALESMAN';
## 직업이 salesman인 사원들의 이름, 월급을 별도의 데이터 프레임을 구성 x<-emp[emp$job=='SALESMAN',c('ename','sal')] ## 별도로 구성한 데이터 프레임에서 순위를 파생변수로 생성 x$순위 <- rank(-x$sal, ties.method = 'min') ## 이름과 월급, 순위를 출력 x[order(x$순위,decreasing = F),]
문제3. 위의 문제를 dense_rank로 구현하시오.
library(dplyr) emp <- read.csv("emp.csv", header=T) emp$순위 <- dense_rank(-emp$sal) emp[ order( emp$순위, decreasing=F ), c("ename", "sal", "순위") ]
문제 4. emp20.csv로 emp20데이터 프레임을 구성하고 이름, 나이, 나이의 순위를 출력하느데 dense_Rank를 이용해서 출력하시오.
emp20$순위 <- dense_rank(-emp20$age) emp20[order(emp20$순위, decreasing = F),c('ename','age','순위')]
'빅데이터 분석(with 아이티윌) > R' 카테고리의 다른 글
[빅데이터분석] R _ 33. IF문 / LOOP문 작성 법 (0) | 2024.07.01 |
---|---|
[빅데이터분석] R _ 32. 함수 생성 (0) | 2024.07.01 |
[빅데이터분석] R _ 30. 서브쿼리 (0) | 2024.07.01 |
[빅데이터분석] R _ 29. 집합연산(rbind, rbind + unique,intersect,setdiff) (1) | 2024.07.01 |
[빅데이터분석] R _ 28. Google Colab (1) | 2024.07.01 |