반응형
데이터 요약(aggregate)
aggregate 함수는 2차원 배열에 있는 데이터를 기준 변수(컬럼)에 따라 집계합니다. 컬럼의 종류별로 데이터의 평균을 집계해보도록 하겠습니다. 아래 예제를 참고하세요.
agg <- aggregate(iris[,-5], by=list(iris$Species),+
FUN=mean)
agg
# Group.1 Sepal.Length Sepal.Width Petal.Length Petal.Width
# 1 setosa 5.006 3.428 1.462 0.246
# 2 versicolor 5.936 2.770 4.260 1.326
# 3 virginica 6.588 2.974 5.552 2.026
이번에는 평균이 아닌 분산을 컬럼의 종류별로 구해보겠습니다. FUN 값을 활용해 다양한 값들을 집계할 수 있겠죠?
agg <- aggregate(iris[,-5], by=list(iris$Species),
FUN=sd)
agg
# Group.1 Sepal.Length Sepal.Width Petal.Length Petal.Width
# 1 setosa 0.3524897 0.3790644 0.1736640 0.1053856
# 2 versicolor 0.5161711 0.3137983 0.4699110 0.1977527
# 3 virginica 0.6358796 0.3224966 0.5518947 0.2746501
mtcars 데이터셋에서 cyl, vs를 기준으로 다른 컬럼들의 최대값을 구할 수 있습니다.
agg <- aggregate(mtcars, by=list(mtcars$cyl,
mtcars$vs),FUN=max)
agg
# Group.1 Group.2 mpg cyl disp hp drat wt qsec vs am gear carb
# 1 4 0 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
# 2 6 0 21.0 6 160.0 175 3.90 2.875 17.02 0 1 5 6
# 3 8 0 19.2 8 472.0 335 4.22 5.424 18.00 0 1 5 8
# 4 4 1 33.9 4 146.7 113 4.93 3.190 22.90 1 1 5 2
# 5 6 1 21.4 6 258.0 123 3.92 3.460 20.22 1 0 4 4
위의 결과와 동일한 결과입니다. 다만 그룹의 값이 아니라 바로 지정한 값으로 조정할 수 있습니다.
agg <- aggregate(mtcars, by=list(cyl=mtcars$cyl,
vs=mtcars$vs),FUN=max)
agg
# cyl vs mpg cyl disp hp drat wt qsec vs am gear carb
# 1 4 0 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
# 2 6 0 21.0 6 160.0 175 3.90 2.875 17.02 0 1 5 6
# 3 8 0 19.2 8 472.0 335 4.22 5.424 18.00 0 1 5 8
# 4 4 1 33.9 4 146.7 113 4.93 3.190 22.90 1 1 5 2
# 5 6 1 21.4 6 258.0 123 3.92 3.460 20.22 1 0 4 4
attach, detach
데이터셋의 이름이 길 때 사용하면 편리한 함수입니다. attach, detach 함수를 쓰면 그 범위에서는 데이터셋의 이름을 직접 작성하지 않아도 작동합니다.
attach(mtcars)
agg <- aggregate(mtcars, by=list(cyl,
vs),FUN=max)
agg
# Group.1 Group.2 mpg cyl disp hp drat wt qsec vs am gear carb
# 1 4 0 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
# 2 6 0 21.0 6 160.0 175 3.90 2.875 17.02 0 1 5 6
# 3 8 0 19.2 8 472.0 335 4.22 5.424 18.00 0 1 5 8
# 4 4 1 33.9 4 146.7 113 4.93 3.190 22.90 1 1 5 2
# 5 6 1 21.4 6 258.0 123 3.92 3.460 20.22 1 0 4 4
detach(mtcars)
반응형
'SW > R' 카테고리의 다른 글
R : 구글 트렌드 ( 개념 및 사용법 ) (0) | 2019.03.03 |
---|---|
R : 벡터 정렬 (개념 및 예제) (0) | 2019.03.02 |
R : 샘플링(sampling), 조합(combination) (개념 및 예제) (1) | 2019.02.28 |
R : 분리(split), 선택(subset)-전처리 (개념 및 예제) (0) | 2019.02.27 |
R : ggplot (개념 및 예제) (0) | 2019.02.26 |