R 기초 301 기술통계량 (Descriptive Statistics)

R 기초 301 기술통계량 (Descriptive Statistics)

preface 이번 포스트에서는 데이터에 대한 개략적 정보를 알아보는 기술통계량에 대하여 설명합니다. R 은 기술통계량을 제공하는 다양한 함수를 가지고 있습니다.

다음 자료를 참고하였습니다:

기술통계량

평균, 분산, 중위값 등 특정 기술통계량을 얻기 위해서는 sapply( ) 함수를 사용합니다. 다음 기술통계량을 얻을 수 있습니다: mean, sd, var, min, max, median, range, and quantile.

# get means for variables in data frame mydata
# excluding missing values
sapply(mydata, mean, na.rm=TRUE)

4분위수, 10분위수, 100분위수(quantile, decile, percentile)는 quantile( ) 함수를 사용하여 구할 수 있습니다.

quantile(mydata) # quantile
quantile(mydata, prob = seq(0, 1, length = 11), type = 5) # decile
quantile(mydata, prob = seq(0, 1, length = 101), type = 5) # percentile

다양한 기술 통계량을 한번에 보여주는 함수들은 아래와 같습니다.

# mean,median,25th and 75th quartiles,min,max
summary(mydata)

# Tukey min,lower-hinge, median,upper-hinge,max
fivenum(x)

Hmisc 패키지를 사용할 수도 있습니다.

library(Hmisc)
describe(mydata)
# n, nmiss, unique, mean, 5,10,25,50,75,90,95th percentiles
# 5 lowest and 5 highest scores

pastecs 패키지를 사용할 수도 있습니다.

library(pastecs)
stat.desc(mydata)
# nbr.val, nbr.null, nbr.na, min max, range, sum,
# median, mean, SE.mean, CI.mean, var, std.dev, coef.var

psych 패키지를 사용할 수도 있습니다.

library(psych)
describe(mydata)
# item name ,item number, nvalid, mean, sd,
# median, mad, min, max, skew, kurtosis, se

그룹별 요약통계량 (Summary Statistics by Group)

psych 패키지를 이용하면 그룹별 요약통계량을 간단하게 구할 수 있습니다.

library(psych)
describe.by(mydata, group,...)

doBy 패키지를 이용하면 SAS 에서의 PROC SUMMARY 기능을 대부분 사용할 수 있습니다. model 옵션을 조정하여 원하는 형태로 얻을 수 있습니다.

library(doBy)
summaryBy(mpg + wt ~ cyl + vs, data = mtcars,
 	FUN = function(x) { c(m = mean(x), s = sd(x)) } )
# produces mpg.m wt.m mpg.s wt.s for each
# combination of the levels of cyl and vs

Tag Cloud

R    SQL    classification    demension reduction    jekyll    python    regression    supervised   
Hyeongjun Kim

Hyeongjun Kim

Financial Economist, Data Scientist, and Hearthstone Player

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora