R을 이용해 차트를 만드는 방법에 대해 알아 보도록 하겠습니다. 먼저 수직막대형 차트를 작성해 보겠습니다. R에서 수직막대형 차트는 barplot()이나 qqplot()을 이용해 그릴 수 있습니다.

 

우선 최근 구입 브랜드에 관한 예시자료를 활성화하고 최근 구입 브랜드를 나타내는 변수 brand를 범주형으로 변경하고 각각의 브랜드를 나타내는 수치에 levels()를 이용해 브랜드명을 활당해 줍니다.

 

> bar=read.csv("bar_chart_1.csv")

> head(bar,3)

brand

1 1

2 9

3 1

 

>bar$brand=factor(bar$brand)

>levels(bar$brand)=c("brand A", "brand B","brand C","brand D","brand E","brand F","brand G","brand H","brand I","brand J")

> head(bar,3)

brand

1 brand A

2 brand I

3 brand A

 

table() prop.table()를 이용해 bar에 있는 brand 변수의 구성 비율을 구해 bar2에 저장합니다.

> bar2=table(bar$brand)

> bar2

brand A brand B brand C brand D brand E brand F brand G brand H brand I brand J

    187      55     204     171      51      33       4      29     197       2

 

 

 

> bar2=prop.table(bar2)

> print(bar2,digits=1)

brand A brand B brand C brand D brand E brand F brand G brand H brand I brand J

  0.200   0.059   0.219   0.183   0.055   0.035   0.004   0.031   0.211   0.002 t

 

마지막으로 barplot()를 이용해 수직막대형 차트를 그려 줍니다. decreasing은 내림차순으로 정렬하는 옵션입니다. col은 막대 안을 채우는 색상을 지정해주고, border는 막대의 테두리 색상을 지정합니다. ylim=c(0,1) y축의 범위를 0 1로 지정하는 옵션입니다.


 

> barplot(sort(bar2, decreasing = TRUE),col="#98E2FA",border="grey",ylim=c(0,1))

 

 

 

다음은 ggplot()을 이용해 수직막대형 차트를 만들어 보겠습니다. barplot과는 달리 ggplot() table()함수를 적용한 파일을 처리할 수 없기 때문에 table함수의 적용결과를 별도의 데이터 파일로 저장하여 ggplot()을 적용합니다. 차트를 구성한 파일을 활성화하여 빈도를 살펴볼 변수를 범주형으로 변경하고 명칭을 부여합니다.

 

 

> bar=read.csv("bar_chart_2.csv")

> bar$brand=factor(bar$brand)

> levels(bar$brand)=c("brand A", "brand B","brand C","brand D","brand E","brand F","brand G","brand H","brand I","brand J")

> head(bar,3)

brand y

1 brand B 87.5

2 brand H 86.5

 

3 brand J 83.3

 

ggplot()함수를 활용하기 위해서는 ggplot2 패키지를 설치해야 합니다.

 

 

> install.packages("ggplot2")

> library("ggplot2")

 

 

ggplot()에서 aes(x=reorder(bar$brand,-bar$y))의 의미는 x축에 bar 파일의 brand 변수수를 넣어주되, bar파일의 y변수의 내림차순에 따르도록 지정하는 것입니다. geom_bar는 차트의 형태를 막대형으로 지정해주는 함수입니다. stat는 분석파일을 생성하는 옵션인데 geom_bar에서는 identity로 고정입니다. fill은 막대의 안을 채우는 색상을 지정하는 옵션이고 color는 테두리 색상을 지정하는 옵션입니다. 다음으로 y축의 범위과 축의 눈금의 간격을 지정해 줍니다

 

>gg=ggplot(data=bar,aes(x=reorder(bar$brand,-bar$y),y=bar$y))+geom_bar(stat="ide

ntity",fill="#98E2FA",color="grey")

> gg=gg+scale_y_continuous(breaks=seq(0,100,by=10),limits=c(0,100) )

 

 

 

 

실습용 파일을 첨부합니다. R을 이용해 직접 수직막대형 차트를 만들어 보십시오.

bar_chart_1.csv

 

궁금한 점이 있으면 아래 버튼을 클릭해 주십시오. 데이터테일즈가 성실하게 답변 드리겠습니다.

 

 

 

Posted by dooka
,

 

34. 통계적 추정의 기본원리

통계적 추정에 대해 좀 더 자세히 알아보기 전에 우선 관련 개념을 아래와 같이 정리해 보았습니다.

         

 

관련 개념에 대한 이해를 바탕으로, 표본크기 결정을 위해 알아보았던 신뢰수준을 다시 한번 살펴보겠습니다. 표본크기 n인 표본이 평균이 이고 분산이 σ2인 모집단으로부터 얻어진 확률표본이고 표본크기가 충분히 크다면 중심극한정리를 적용할 수 있고 근사적으로 표본평균 는 평균이 이고 표본평균의 분산이 σ2/n인 정규분포를 따르게 됩니다. 정규분포의 성질에 따라 근사적으로 Z는 평균이 0이고 분산이 1인 표준정규분포를 따릅니다. 아래 수식에서 A는 asymptotic의 약자로 근사한다는 의미이고 N은 정규분포를 의미합니다.

일반적으로 모집단의 평균을 모르는 상황이라면 모분산 역시 알 수 없다고 보는 것이 상식적이므로 모분산 대신 표본분산을 사용하게 됩니다. 표본분산 s2을 사용하는 이유는 s2의 평균이 모분산이 되고 표본크기가 증가할수록 모분산에 근사하기 때문입니다. 표본분산의 분모가 표본크기가 아닌 표본크기에서 1을 차감한 수를 사용하는 이유는 표본평균을 구하는데 표본의 정보를 한번 사용하였기 때문입니다. 표본평균이 정해진 상태에서는 n-1번째 개체의 응답이 결정되면 n번째 개체의 응답은 자동으로 결정됩니다.

모분산이 아닌 표본분산을 사용한 경우에도 독립적이고 동일한 분포를 따르는 확률표본에서 표본크기가 증가할 때 Z는 여전히 근사적으로 평균이 0이고 분산이 1인 표준정규분포를 따릅니다.

                                                         

                                                         

신뢰수준의 정의에 따라 P( -Z0.025 ≦ Z ≦ Z0.025 )=P( -1.96 ≦ Z ≦ 1.96 )=0.95가 성립하고, 확률을 나타내는 함수 P(  ) 괄호안의 식을 모평균에 대하여 정리하면 아래와 같은 수식을 얻게 되고 이를 모평균 의 95% 신뢰구간이라고 합니다.

                                        

모평균 μ의 95% 신뢰구간 : 

                                           

관심 있는 모수의 참값이 포함하고 있을 것으로 예상하는 구간을 신뢰구간이라고 하며, 신뢰구간이 관심 있는 모수의 참값을 포함할 것으로 신뢰하는 확률을 신뢰수준이라고 부르게 됩니다. 오차한계를 폭넓게 허용하면 신뢰수준이 증가하는 것처럼 신뢰구간의 폭을 넓히면 신뢰수준 역시 높아지게 됩니다. 신뢰수준을 100%라고 한다면 -무한대에서 +무한대까지의 값이 신뢰구간이 되므로 유의미한 정보를 제공할 수 없기 때문에 수용할 만한 신뢰수준을 정한 후에 신뢰구간을 추정하게 됩니다.

수리적으로 평균과 동일한 개념인 모비율의 추정에 대해서도 알아보겠습니다. 표본크기가 크고 모비율이 작지 않은 경우 확률표본을 추출하면 중심극한정리에 의해 표본비율더블클릭을 하시면 수식을 수정할 수 있습니다.은 정규분포에 근사합니다. 신뢰수준 95% 하에서 가상의 도시의 시장 출마 후보의 지지율을 추정하기 위해 표본크기 n의 확률표본을 추출한 경우를 생각해 보겠습니다. 후보를 지지하는 응답자의 수를 합한 변수를 X로 정의할 때 =X/n은 표본평균이며 곧 표본비율 즉 표본의 지지율이 됨을 알 수 있습니다. 동일하고 독립적인 분포를 따르는 표본에서 표본수가 충분히 크고 지지율이 0과 1에 가까운 극단적인 값을 가지지 않는다면 표본비율은 평균이 p이고 분산은 p(1-p)/n인 정규분포에 근사합니다. 그런데 p(1-p)/n은 사전적으로 알 수 없으므로 표본비율을 사용한 추정량을 사용하면, 표본크기가 증가할 때 표본비율의 분포는 여전히 정규분포에 근사하게 됩니다.

모비율 즉 모집단의 지지율은 사전적으로 알 수 없으므로 모비율 대신 표본비율을 그 추정치로 사용하더라도 표본크기가 증가하면 표본비율은 모비율에 근사하므로 여전히 표본비율은 근사적으로 평균이 모비율 p이고 분산은 표본비율(1-표본비율)/n인 정균분포를 따릅니다.

                                                                  

이를 근거로 신뢰수준을 계산하고 이 계산식에서 95% 신뢰구간을 구하면 다음과 같습니다.  

모비율의 95% 신뢰구간 :

                                               

모평균에 대한 구간추정을 예로 들어 신뢰구간의 의미를 좀 더 명확하게 파악해 보겠습니다. 모평균에 대한 95% 신뢰구간이라고 하면, 표본추출을 100번 반복할 경우 100개의 신뢰구간 중 모평균 참값을 포함하는 구간이 최소한 95개는 된다는 의미입니다. 이것은 사실을 표본추출을 100번 반복할 때 표본평균과 모집단의 차이가 (1.96⨯표준오차) 이내인 경우가 적어도 95번은 된다는 언급과 완전히 동일합니다. 여기서 표준오차란 표본평균의 분산을 제곱근한 값을 말합니다. 그러므로 95% 신뢰구간에서 신뢰수준 95%는 그 특정한 구간이 미지의 모평균을 포함할 확률이 95%라는 의미가 아닙니다.

         

이러한 신뢰구간의 의미는 설문조사 결과를 소비하는 사람의 입장에서 조금은 기대했던 내용과 거리가 멀 수도 있습니다. 그러나 모집단의 일부인 표본을 반복적으로 추출하는 설문조사과정을 이해한다면 신뢰구간이 의미하는 내용은 필연적입니다. 좋은 신뢰구간이라면 가급적 구간의 길이가 짧고, 신뢰수준이 높은 신뢰구간이 될 것이나 주어진 표본크기 하에서는 신뢰수준을 높이고자 한다면 신뢰구간의 길이가 넓어져야 하며, 신뢰구간의 길이를 줄이고자 한다면 신뢰수준이 낮아질 수밖에 없습니다.

궁금하신 점이 있으면 아래 버튼을 클릭해 주세요. 데이터테일즈가 성실하게 답변 드리겠습니다!

                                               

 

 

'야행하는 리서치' 카테고리의 다른 글

37. 가설검정②  (0) 2017.08.29
36. 가설검정①  (0) 2017.08.18
34. 통계적 추정의 기본원리①  (0) 2017.07.26
33. 설문지의 순서배열  (0) 2017.07.20
32. 설문지 작성 방법  (0) 2017.07.17
Posted by dooka
,

설문조사를 실시하고 자료에 대한 분석을 마치면 조사결과에 대한 보고서를 작성하는 것이 일반적입니다. 설문조사를 실시하고 그 결과를 분석하고 보고서를 작성하는 근본적인 이유는 의사결정을 지원하기 위해서입니다. 설문조사의 결과는 의사결정을 좀 더 잘 할 수 있도록 유용한 정보를 제공해야 합니다. 그러므로 조사결과 보고서에 들어가는 차트 역시 의사결정에 유용한 정보를 효과적으로 전달할 수 있도록 작성해야 합니다. 불필요한 디자인 과잉으로 차트를 보는 사람의 주의 집중을 방해하지 않도록 유념해야 합니다.

조사결과 보고서에서 흔히 활용하는 차트에는 수직막대형, 수평막대형, 분할막대형, 파이형, 방사형, 꺽은선의 여섯 가지 형태가 있습니다. 이들 중 수직막대형은 가장 많이 사용하는 차트 유형입니다. 수직막대형의 막대 그래프는 크기순이나 논리적 순서대로 배열해서 차트를 보는 사람이 차트를 이해하는데 드는 시간을 줄여 줘야 합니다. 자사 브랜드의 막대 그래프와 같이 강조해야 할 정보는 가장 좌측으로 배열하거나 색상을 다르게 지정할 수도 있습니다. 시선이 분산되지 않도록 막대 그래프의 간격도 너무 넓게 지정하지 않도록 주의해야 합니다. 또한, 차트를 보는 사람이 차트 외에 정보를 참고해야할 필요가 없도록 차트에 나온 수치와 전체 응답자 수 외에도 관련 내용을 가능한 모두 기입합니다.

비교 형태의 수직막대형 차트를 작성할 경우에는 색상에도 일정한 방향성을 부여해서 시선의 혼란을 방지하는 것이 좋습니다. 범례를 삽입할 때도 그래프를 보기 전에 범례를 볼 수 있도록 좌측 상단에 배열합니다. 그래프에 범례를 표시할 공간이 있다면 그래프 자체에 범례에 담을 내용을 표기하는 것도 효과적으로 정보를 전달하는 방법이 될 수 있습니다.

분할 수직막대형 차트는 척도형 자료를 제시하는데 유용합니다. 척도형 자료를 분할 수직막대형 차트로 작성할 경우 차트를 보는 사람이 시각적으로 혼란을 느끼지 않도록 척도별로 색상을 구분하여 제시하는 것이 좋습니다.

궁금하신 점이 있으면 아래 버튼을 클릭해 주세요. 성실하게 답변드리겠습니다!

 

 

'마케팅 우라모드' 카테고리의 다른 글

개비스콘 광고 이야기  (0) 2019.06.22
Willingness to pay  (0) 2018.01.04
차트 작성 시 몇 가지 주의할 점들 ②  (0) 2017.09.20
카드결제 시 수수료 추가!  (0) 2017.07.17
판매원의 뒷모습을 보다  (0) 2017.04.24
Posted by dooka
,