SW/R

R : 일변량 양적 자료의 분석 (개념 및 예제)

얇은생각 2019. 2. 10. 12:30
반응형

양적자료

질적 자료에 비해 양적자료는 분석 방법이 많습니다. 대표적인 분석방법은 아래내용과 같습니다.


- 평균/중앙값

- 4분위수

- 분산, 표준편차

- Boxplot

- Histogram

- 나무-잎 그림


나라에서 국민들의 소득자료를 가지고 있습니다. 이 자료를 분석해서 설명할수 있는 값은 아래와 같이 여러가지가 있습니다.



평균(mean)

평균은 균형점, 무게중심을 의미합니다.



중앙값(median)

어떤 주어진 값들을 정렬합니다. 그 때, 가장 중앙에 위치하는 값을 의미합니다.



절사평균(trimmed mean)

표본중에서 작은값 n% 와 큰값 n%를 제외합니다. 그리고 나머지 (100-2n)% 의 자료만 사용하여 구한 평균을 의미합니다.



양적자료


왜 이렇게 3가지 값으로 나누어서 표현할까요? 즉, 위 그림처럼 상위권이나 하위권이 극단적인 경우 평균값이 무의미한 값이 나오기 때문입니다. 하지만 중앙값이나 절사평균을 활용한다면 데이터 상황에 따라 유의미한 값을 출력할 수 있기 때문입니다. 



4분위수 (quartile)

4분위수는 측정값을 4등분하는 백분위수를 의미합니다. 분위를 통해 4등분하여 데이터를 분석할 떄 활용합니다. 아래의 그림을 참고하세요.


- 제 1 사분위수 (Q1) : 제 25 백분위수

- 제 2 사분위수 (Q2) : 제 50 백분위수, 중앙값

- 제 3 사분위수 (Q3) : 제 75 백분위수


양적자료



mean(), median(), quantile(), summary()

mydata = c(50,60,100,75,200)
mydata.big = c(mydata, 50000)
mean(mydata) # 평균
# 97
mean(mydata.big)
# 8414.167
median(mydata) # 중앙값
# 75
median(mydata.big)
# 87.5
mean(mydata, trim=0.2) # 절사평균
# 78.33333
mean(mydata.big, trim=0.2)
# 108.75
quantile(mydata) # 사분위수
# 0% 25% 50% 75% 100%
# 50 60 75 100 200
quantile(mydata, (0:10)/10)
# 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
# 50 54 58 63 69 75 85 95 120 160 200
summary(mydata)
# Min. 1st Qu. Median Mean 3rd Qu. Max.
# 50 60 75 97 100 200
fivenum(mydata) # quantile()과 비슷
# 50 60 75 100 200

분석할 때 활용하는 함수들입니다. mean(), median(), quantile() 함수도 자주 사용하지만 summary() 함수를 많이 활용합니다.



산포

산포는 데이터가 퍼져 있는 정도를 뜻합니다. 즉, 흩어져 있는 정도입니다. 분산과 표준편차를 활용해 표현합니다. 



분산 (variance)

양적자료


분산의 공식은 아래와 같습니다. 오랜만에 한번 확인해보세요.



표준편차(standard deviation)

양적자료


표준편차의 제곱은 분산입니다.



diff(), var(), sd()

diff(range(mydata)) # 최대값-최소값
# 150
var(mydata) # 분산
# 3670
sd(mydata) # 표준편차
# 60.58052


diff()는 최대값에서 최소값을 뺀 값입니다. var() 함수는 분산을 구할 때 활용합니다. sd() 함수는 표준편차를 구할 때 씁니다.



Box plot 또는 Box whisker plot

양적자료


box plot은 box whisker plot이라고도 합니다. 이러한 그래프와 익숙해져야 빠르게 데이터 분석을 할 수 있습니다.



양적자료


위에 나온 그래프를 통해 최대값, 최소값, 특이값, 정상 범위 등을 한눈에 알 수 있습니다.



사례 : 시간제 일자리 근무시간 (남녀)

양적자료


위 그래프를 통해 남자가 여자보다 많은 일을 한다는 것을 알 수 있습니다. 최소 값은 비슷하지만 많게는 30시간까지 근무하는 것을 그래프에서 확인할 수 있습니다. 또다른 유의미한 데이터가 있는 지 분석해보세요.



사례 : 20명의 학생에 대한 수면시간

양적자료


위 그래프를 통해 어떤 학생은 금요일에 잠을 자지 않았다는 것을 알 수 있습니다. 또 평균적으로 주말에 많이 자고 평일에는 적게 자고 있다는 것이 한눈에 들어옵니다. 일요일인대도 불구하고 잠을 많이잔 학생은 공강으로 유추됩니다.



사례 : state.x77 데이터셋에서 주별 소득

head(state.x77)
# Population Income Illiteracy Life Exp Murder
# Alabama 3615 3624 2.1 69.05 15.1
# Alaska 365 6315 1.5 69.31 11.3
# Arizona 2212 4530 1.8 70.55 7.8
# Arkansas 2110 3378 1.9 70.66 10.1
# California 21198 5114 1.1 71.71 10.3
# Colorado 2541 4884 0.7 72.06 6.8
# HS Grad Frost Area
# Alabama 41.3 20 50708
# Alaska 66.7 152 566432
# Arizona 58.1 15 113417
# Arkansas 39.9 65 51945
# California 62.6 20 156361
# Colorado 63.9 166 103766
st.income <- state.x77[,"Income"]
boxplot(st.income, ylab="Income value")


양적자료


제공되는 데이터셋을 활용해서 위처럼 boxplot를 그려볼 수 있습니다. 다양한 데이터셋으로 그래프를 그려보세요.



사례 : iris dataset에서 품종(Species)에 따른 Petal.Width 자료

boxplot(Petal.Width~Species,data=iris,ylab="Petal.Width")


양적자료


위와 같은 그래프가 생성되면 정상작동한 것입니다. 직접 한번 만들어보시고 분석해보세요.



히스토그램

양적자료


히스토그램과 막대 그래프는 무슨 차이일까요? 막대 그래프는 도수 분포표를 만들 수 있는 정수형, 문자형 자료의 경우에 사용합니다. 실수형 자료에 대해서는 히스토그램을 사용합니다. 위 처럼 막대그래프는 막대의 면적과 간격은 의미가 없습니다. 하지만 히스토그램은 막대끼리 붙어있습니다. 또 막대의 면적에는 의미가 있습니다.



히스토그램 그리기

st.income <- state.x77[,"Income"] # 데이터 입력

hist(st.income, # 데이터 입력
     main="Histogram for Income", # 제목 입력
     xlab ="income", # x축 제목 입력
     ylab="frequency", # y축 제목 입력
     border="blue", # 경계선 입력
     col="green", # 막대 색깔 입력
     las=2, # x축 글씨방향 지정
     breaks=5) # x축 막대 개수 지정


양적자료


히스토그램은 위 예제처럼 출력하면됩니다. breaks=n 일때 막대 개수는 log2(n)+1 로 계산합니다. N이 커질수록 막대의 개수는 늘어납니다. 



줄기-잎 그림

score <- c(40,55,90,75,59,60,63,65,69,71)
stem(score, scale=2)
# The decimal point is 1 digit(s) to the right of the |
#
# 4 | 0
# 5 | 59
# 6 | 0359
# 7 | 15
# 8 |
# 9 | 0


줄기는 십의 자리수를 의미합니다. 그리고 잎은 일의 자리수를 의미하는 게 보이시나요? Scale 값이 커지면 줄기의 수는 증가합니다. 하지만 그만큼 줄기당 잎 수는 감소합니다.

반응형

'SW > R' 카테고리의 다른 글

R : 산점도 (개념 및 예제)  (0) 2019.02.12
R : 문자열 함수 (개념 및 예제)  (0) 2019.02.11
R : 일변량 질적 자료의 분석 (개념 및 예제)  (0) 2019.02.09
R : 기초 통계 개념  (0) 2019.02.08
R : 패키지(Package) 설치 방법  (0) 2019.02.07