# naver search confirm # markdown number and equation 변수별 부분 집계 by dplyr //google adsense
본문 바로가기
R_데이터 분석 기술

변수별 부분 집계 by dplyr

by 노마드분석가 2022. 3. 31.

이전글

 

R 전처리 최강자 dplyr 패키지

1. 들어가며 본격적인 데이터 분석에 들어가기 전에 분석가의 요구와 필요에 맞게 데이터를 조작할 필요가 있다. 이런 과정을 데이터 전처리(data pre processing)이라고 하는데, R은 풍부한 기본 기능

diseny.tistory.com

 

1. 들어가며

이전 글에서 R 데이터 전처리에 많이 활용되는 dplyr 패키지의 기본적인 용법 5가지를 살펴보았다. 이번에는 dplyr 패키지에서 특정한 변수를 기준으로 부분 집계(aggregation)를 하는 방법에 대해 알아보자. 부분 집계는 의외로 데이터 분석에서 많이 사용되는 작업이다. 

 

2. 데이터 프레임에서 랜덤하게 행 데이터 추출

dplyr 패키지는 데이터 프레임에서 랜덤하게 행(row)을 추출하는 아주 간편한 함수 sample_n 을 제공한다. 기본 문법은 다음과 같다. 

sample_n(데이터프레임, 추출할 행 개수)

 

아래와 같은 코드로 iris 데이터에서 랜덤하게 10개의 데이터를 추출한 경우다. 결과를 보면 Species에 몇 개의 범주가 있는 것을 알 수 있다.   

 

Species에 몇 개의 범주가 있는지 살펴보자. 아래와 같은 코드로 각 범주와 범주별 데이터 개수를 알 수 있다. 

 

예를 들어 iris 데이터에서 Species 범주별 Sepal.Length의 평균 또는 합계, 표준편차 등을 구해야 한다면 이 경우 사용할 수 있는 함수가 group_by와 summarize이다. 이 둘은 같이 사용한다. 

 

3. group_by & summarize

먼저 기존 iris 데이터를 Species 범주별 그룹으로 묶어준다. 

new_iris = group_by(iris,Species)

 

이 함수는 데이터 프레임을 Species 범주별로 그룹핑을 해 줄 뿐 겉으로 뭔가 변화를 일으키지는 않는다. summarize 함수를 이용해야만 group_by 함수의 의미가 드러난다.

summarize 기본 문법은 아래와 같다.

summarize(데이터프레임, 집계변수 = 평균/합 등의 연산자)

 

먼저 Species 범주별로 Sepal.Length의 평균을 구해보자. 아래 코드를 실행하면 범주별로 Sepal.Length의 평균을 계산한 새로운 파생변수  mean_Sepal.Length가 만들어진 것을 볼 수 있다. 

 

Sepal.Length와 Sepal.Length 를 더해 새로운 파생 변수를 Species 범주별로 구할 수도 있다. 

 

반응형

댓글