SW/R

R : aggregate, attach, detach-데이터 요약 (개념 및 예제)

얇은생각 2019. 3. 1. 12:30
반응형

데이터 요약(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)


반응형