언어/R

R - R언어 dplyr로 데이터 전처리하기 ( mutate( ), group_by( ), summarise( ) )

SOidentitiy 2023. 1. 12. 14:45
728x90

이번 포스트에서는 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

 

728x90