본문 바로가기

R

[R] dplyr

library(dplyr)

dplyr::filter()

: 조건에 해당하는 행을 필터링하는 함수. 행선택X

filter(employees,DEPARTMENT_ID==20)

dplyr::select()

: 특정한 컬럼을 선택하는 함수

select(employees,EMPLOYEE_ID,LAST_NAME,SALARY)

→ 열의 순서로 선택하는 것도 가능 (-1 : 첫번째에 있는 열만 제외)

dplyr::arrange()

: 정렬

arrange(x,SALARY) #오름차순
arrange(x,desc(SALARY)) #내림차순

→ 기본값 : 오름차순

%>%(파이프)

: 여러문장을 조합해서 사용하는 방법 연산자

employees %>%
select(LAST_NAME,JOB_ID,SALARY) %>%
filter(SALARY>=10000) %>%
arrange(desc(SALARY),LAST_NAME)

!주의!

select를 먼저 쓸 때, 그 뒤 함수에 쓸 컬럼이 모두 select 안에 있어야함!

dplyr::mutate()

: 새로운 컬럼을 추가하는 함수, 미리보기

mutate(employees,ann_sal=SALARY*12)

→ mutate를 활용해 새로 생성한 컬럼도 arrange 기준으로 사용 가능


[문제135] employees 데이터 프레임을 새로운 df 이름으로 복제하세요. df 데이터 프레임에  새로운 comm 컬럼을 생성하는데 COMMISSION_PCT 값을 기반으로 값을 입력하시고 결측값은 기존 COMMISSION_PCT의 평균 값으로 입력해주세요.(단 mutate함수를 이용하세요)

[문제136] 30번 부서 사원들이면서 급여는 5000이상인 사원들의 employee_id, salary, department_id를 출력하세요. (dplyr 패키지에 있는 함수를 이용하세요.)

[문제137] 30번 또는 50번 부서 사원들이면서 급여는 5000이상인 사원들의 employee_id, salary, department_id를 출력하세요. (dplyr 패키지에 있는 함수를 이용하세요.)

[문제138] COMMISSON_PCT가 NA인 사원들 중에 급여는 10000이상인 사원들의 정보를 출력해주세요. (dplyr 패키지에 있는 함수를 이용하세요.)

[문제139] 월요일에 입사한 사원들의 LAST_NAME, SALARY,HIRE_DATE를 출력하세요. 입사한 날짜를 기준으로 오름차순 정렬하세요. (dplyr 패키지에 있는 함수를 이용하세요.)

'R' 카테고리의 다른 글

[R] rank  (0) 2022.01.19
[R] dplyr::summarise()  (0) 2022.01.19
[R] ddply  (0) 2022.01.18
[R] subset  (0) 2022.01.18
[R] merge  (0) 2022.01.17
Recent Posts
Popular Posts
Recent Comments