이전글
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 범주별로 구할 수도 있다.
'R_데이터 분석 기술' 카테고리의 다른 글
R 다중공선성 VIF 값 계산 (0) | 2022.04.04 |
---|---|
wide & long 데이터 형태 전환 (0) | 2022.04.04 |
R을 이용해 상관계수 구하기 (0) | 2022.04.01 |
데이터 결합(join) by dplyr 패키지 (0) | 2022.04.01 |
R 전처리 최강자 dplyr 패키지 (0) | 2022.03.31 |
R_요인분석(psych 패키지) (0) | 2022.03.03 |
범주별 다변수 통계량 계산(by 함수) (0) | 2022.03.03 |
댓글