R - R언어 dplyr로 데이터 전처리하기 ( mutate( ), group_by( ), summarise( ) )
이번 포스트에서는 R언어로 데이터 전처리하는 방법에 대해 서술하겠습니다.
'데이터 전처리(Data Preprocessing)'은 분석에 적합하게 데이터를 가공하는 작업입니다. 일부를 추출하거나, 종류별로 나누거나 여러 데이터를 합치는 등 데이터를 자유롭게 가공할 수 있어야 목적에 맞게 분석할 수 있습니다.
dplyr은 데이터 전처리 작업에 가장 많이 사용되는 패키지입니다. dplyr의 대표적인 함수를 정리하면 아래와 같습니다.
dplyr 함수 | 기능 |
filter( ) | 행추출, 2023.01.12 - [언어/R] - R - R언어 dplyr로 데이터 전처리하기 (filter( ), %>%, %in%) |
select( ) | 열 추출, 2023.01.12 - [언어/R] - R - R언어 dplyr 함수로 데이터 전처리 하기 (select( ) , arrange( ), desc( )) |
arrange( ) | 정렬, 2023.01.12 - [언어/R] - R - R언어 dplyr 함수로 데이터 전처리 하기 (select( ) , arrange( ), desc( )) |
mutate( ) | 변수 추가 |
summarise( ) | 통계치 산출 |
group_by( ) | 집단별로 나누기 |
left_join( ) | 데이터 합치기(열) |
bind_rows( ) | 데이터 합치기(행) |
mutate( )
mutate( )를 사용하면 기존 데이터에 파생변수를 추가할 수 있습니다. 여러 파생변수를 한번에 추가할 수 있고, ifelse 등을 통해 파생변수를 추가할 수 있다는 장점이 있습니다.
summarise( ) 와 group_by( )
집단별 평균이나 집단별 빈도처럼 각 집단을 요약한 값을 구할 때 group_by( )와 summarise( )를 사용합니다.
먼저 summarise( )를 사용하겠습니다.
summarise()는 각종 통계함수와 함께 사용하여, 데이터프레임의 특정 변수에 속한 값들을 하나의 통계값으로 요약하여 반환하는 함수입니다. summarise()와 summarize()는 같은 함수입니다.
summarise는 다른 dplyr 함수와 함께 사용할 때 유용하게 사용할 수 있습니다.
group_by( )에 변수를 지정하면 변수 항목별로 데이터를 분리합니다.
여기에 summarise( )를 조합하면 집단별 요약 통계량을 산출합니다.
위의 코드처럼 class 별 수학 점수 평균을 구할 수 있습니다.
위의 코드처럼 여러 요약 통계량을 한 번에 산출할 수 있습니다.
여기서 n( )은 데이터가 몇 행을 되어있는지 '빈도'를 구하는 기능을 합니다.
n의 변수 열을 보면 각 class의 빈도가 4인 것을 알 수 있습니다. 이를 통해 각 반에 4명의 학생이 있다는 것을 알 수 있습니다.
group_by( ) 에 집단을 나눈 후 다시 하위 집단으로 나눌 수 있습니다.
mpg 데이터를 통해 이를 실습해보도록 하겠습니다.
# mpg 데이터를 이용해 분석하기
# 1. mpg 데이터의 class 별 cty 평균을 구해보기 + 내림차순으로 정렬하기
#2 hwy 평균이 가장 높은 세 곳을 출력하기
#3 각 회사별 compact 차종 수를 내림차순으로 정렬해 출력하기
출처
Do it 쉽게 배우는 R 데이터 분석 ...
18,000원
itempage3.auction.co.kr