dplyr::summarise()
: 주어진 데이터 집계
dplyr::summarise(employees,sum_sal=sum(SALARY),mean_sal=mean(SALARY))
주의! dplyr를 선언하지 않으면 우선순위가 plyr::이 먼저 수행된다.
group_by()
emploees%>%
group_by(DEPARTMENT_ID)%>%
summarise(sum_sal=sum(SALARY),avg_sal=mean(SALARY))
(+) tibble :
x<-tibble(x=1:5,y=6:10)
data.frame(x) -> 데이터프레임으로 변환
options(tibble.print_max=Inf) : 행 전부 출력
여러 컬럼을 기준으로 group by 가능
emploees%>%
group_by(DEPARTMENT_ID,JOB_ID)%>%
summarise(sum_sal=sum(SALARY),avg_sal=mean(SALARY))
dplyr::summarise_at()
employees%>%
dplyr::summarise(sum_sal=sum(SALARY),mean_sal=mean(SALARY)),
sum_comm=sum(commission_pct,na,rm=T),
mean_comm=mean(COMMISSION_PCT,na.rm=T)
⇒ 개선
employees%>%
dplyr::summarise_at(c('SALARY','COMMISSION_PCT'),c(sum,mean),na.rm=T)
dplyr::summarise_if()
: 조건에 맞는 열에 함수 적용
employees%>%
dplyr::summarise_if(is.integer,c(sum,mean),na.rm=T)
[문제140] 부서별 급여의 총액을 구한 후 10000이하 정보만 출력해주세요.
① tapply
② aggregate
③ plyr::ddply
④ dplyr
[문제141]부서별, 요일별 입사 인원수를 출력하세요.
① tapply
② aggregate
③ plyr::ddply
④ dplyr