dplyr 라이브러리
- filter : 조건을 이용해서 필터링하는 함수
- select : 여러컬럼이 있는 데이터 프레임에서 특정한 열만 선택하는 함수
- arrange : 정렬
- %>% : 여러문장을 조합해서 사용하는 방법을 제공(파이프)
- mutate : 새로운 컬럼을 추가하는 함수
# dplyr 라이브러리 임포트
library(dplyr)
1. filter
# 기본 사용법 filter(emp, DEPARTMENT_ID==20) |
|
# 출력 컬럼 지정 filter(emp, DEPARTMENT_ID==20)[,c('LAST_NAME','SALARY')] |
2. select
# 기본 사용법 select(emp,LAST_NAME,SALARY) select(emp,1,2) |
|
# 출력 컬럼 인덱스 번호로 사용 select(emp,1,2) |
|
# 출력 컬럼 슬라이싱 select(emp,1:4) |
|
# 여러개의 컬럼 출력 select(emp,2,4,6) |
|
# 인덱스 번호로 출력 컬럼 제외 select(emp,-1:-7) |
|
# 컬럼 이름으로 출력 컬럼 제외 select(emp,-EMPLOYEE_ID:-SALARY) |
3. arrange
# 오름차순 arrange(emp, SALARY) |
|
# 내림차순 arrange(emp, desc(SALARY)) |
|
arrange(emp,DEPARTMENT_ID,desc(SALARY))[c('DEPARTMENT_ID','SALARY')] |
4. %>%
# 기본 사용법 emp%>% select(LAST_NAME,JOB_ID,SALARY)%>% filter(SALARY>=10000) |
|
# arrange와 함께 사용 emp%>% |
5. mutate
emp <- mutate(emp,ann_sal=SALARY*12) str(emp) |
|
emp %>% select(LAST_NAME,SALARY,COMMISSION_PCT) %>% mutate(ann_sal = 0) |
|
emp %>% select(LAST_NAME,SALARY,COMMISSION_PCT) %>% mutate(ann_sal = SALARY*12+ifelse(is.na(COMMISSION_PCT),0, SALARY*COMMISSION_PCT)) |
|
# 정렬도 하자 emp %>% select(LAST_NAME,SALARY,COMMISSION_PCT) %>% mutate(ann_sal = SALARY*12+ifelse(is.na(COMMISSION_PCT),0, SALARY*COMMISSION_PCT))%>% arrange(desc(ann_sal)) |
|
# filter안에 넣은 컬럼이름은 반드시 select에도 들어가 있어야한다. emp %>% |
|
# filter안에 넣은 컬럼이름은 반드시 select에도 들어가 있어야한다. emp %>% |
'컴퓨터 > R' 카테고리의 다른 글
R - sqldf (0) | 2020.04.17 |
---|---|
R - dplyr 라이브러리 ② summarise , group_by (0) | 2020.04.17 |
R - subset / ddply (0) | 2020.04.16 |
R - merge (0) | 2020.04.15 |
R - 전역변수 / 지역변수 (0) | 2020.04.15 |