1.교육수준과 흡연정도의 상관관계
※ x2 (chi_square) 검정
※ x2 (chi_square) 검정
카이제곱검정은 카이제곱 분포에 기초한 통계적 방법으로, 관찰된 빈도가 기대되는 빈도와 의미있게 다른지의 여부를 검증하기 위해
사용되는 검증방법이다. 자료가 빈도로 주어졌을 때, 특히 명목척도 자료의 분석에 이용된다.
사용되는 검증방법이다. 자료가 빈도로 주어졌을 때, 특히 명목척도 자료의 분석에 이용된다.
카이제곱 값은 χ2 = Σ (관측값 - 기댓값)2 / 기댓값 으로 계산한다.
검증유형
- 동질성 검증: '변인의 분포가 이항분포나 정규분포와 동일하다'라는 가설을 설정한다. 이는 어떤 모집단의 표본이 그 모집단을
대표하고 있는지를 검증하는 데 사용한다.
- 독립성 검증: 변인이 두 개 이상일 때 사용되며, 기대빈도는 '두 변인이 서로 상관이 없고 독립적'이라고 기대하는 것을 의미하며
관찰빈도와의 차이를 통해 기대빈도의 진위여부를 밝힌다.
기본가정
- 변인의 제한: 종속변인이 명목변인에 의한 질적변인이거나 범주변인이어야 한다.
- 무선표집: 표본이 모집단에서 무선으로 추출되어야 한다.
- 기대빈도의 크기: 각 범주에 포함할 수 있도록 기대되는 빈도를 기대빈도라고 하는데, 이 기대빈도가 5 이상이어야 한다.
5보다 적으면 사례 수를 증가시켜야 한다.
- 관찰의 독립: 각 칸에 있는 빈도는 다른 칸의 사례와 상관없이 독립적이어야 한다.
문제 : 교육수준과 흡연정도는 서로 관련성이 있을까?
데이터:교육수준에 따른 흡연 정도에 대한 데이터
(mystudy.xlsx의 mysmoke시트)
변수명:education:1-대졸,2-고졸,3-중졸
smoke:1-과다흡연,2-보통흡연,3-비흡연
분석문제:
1)교육수준변수와 흡연 정보 변수를 이용한 교차 테이블 생성
2)변수보기 항목을 이용한 교차 테이블 작성
3)교육수준과 흡연 정도 간에는 서로 관련성이 있는가?
(1) 패키지 설치 및 데이터 읽어오기
#엑셀파일을 읽어오기 위한 패키지 설치
install.packages("XLConnect")
library(XLConnect)
#엑셀에서 mysmoke 시트 읽어오기
mystudy <- loadWorkbook("./data/mystudy.xlsx",create=T)
mysmoke <- readWorksheet(mystudy, sheet = "mysmoke")
mysmoke
#교육수준별 흡연유형 빈도수 생성
> table(mysmoke$education,mysmoke$smoking)
1 2 3
1 51 92 68
2 22 21 9
3 43 28 21
#교육수준의 항목별 데이터에 이름부여
mysmoke$education2[mysmoke$education==1] <- "university"
mysmoke$education2[mysmoke$education==2] <- "highschool"
mysmoke$education2[mysmoke$education==3] <- "elementary"
#흡연정도의 항목별 데이터 이름 부여
mysmoke$smoking2[mysmoke$smoking==1] <- "many"
mysmoke$smoking2[mysmoke$smoking==2] <- "middle"
mysmoke$smoking2[mysmoke$smoking==3] <- "none"
mysmoke
#위의 내용을 아래 패키지 설치후 mapvalues()를 사용하면 동일한 결과를 얻을 수 있다.
install.packages("plyr")
library(plyr)
mysmoke$education3 <- mapvalues(mysmoke$education,from=c(1,2,3),to=c("university","highschool","elemetary"))
mysmoke$smoking3<- mapvalues(mysmoke$smoking,from = c(1,2,3),to=c("many","middle","none"))
mysmoke
> table(mysmoke$education2,mysmoke$smoking2)
many middle none
elementary 43 28 21
highschool 22 21 9
university 51 92 68
> table(mysmoke$education3,mysmoke$smoking3)
many middle none
elemetary 43 28 21
highscool 22 21 9
university 51 92 68
(2) 독립성 검정
- 귀무가설 : 교육수준과 흡연정도는 서로 관련이 없다.(독립적이다.)
- 대립가설 : 교육수준과 흡연정도는 서로 관련이 있다.(독립적이지 않다)
- 아래결과에 따라 p-value값이 0.05보다 작으므로 귀무가설 기각되고
대립가설 채택된다.
- 분석결과 교육수준과 흡연정도는 서로 관련이 있는것으로 분석된다.
- 즉 교육수준에 따라 흡연의 정도는 차이가 있는 것으로 나타났다.
> chisq.test(mysmoke$education2,mysmoke$smoking2)
Pearson's Chi-squared test
data: mysmoke$education2 and mysmoke$smoking2
X-squared = 18.911, df = 4, p-value = 0.0008183
#---------------------------------------------------------------------------------------------------
2. 음료들의 유사성 분석
※ 다차원 척도 분석(Multidimensional Scaling:MDS)
※ 다차원 척도 분석(Multidimensional Scaling:MDS)
- 분석하고자 하는 대상을 복잡한 다차원적인 관계를 통해 단순한 구도로 나타내는 것을 말한다.
- 또한 각 개체들 사이의 유사성과 비유사성을 측정하여 2차원 또는 3차원 공간상에 점으로 나타내어 개체들 사이의
집단화를 표현하는 분석 방법이라고 할 수 있다.
- 개체들간의 근접성(proximity)을 시각화하여 데이터 속에 잠재해 있는 패턴이나 구조를 찾아내는 통계 기법.
- 점들사이의 집단화 표현은 거리값(Distance Measure)을 이용하여 분류한다.
거리의 종류는 다양하지만 그 중 가장 흔히 사용하는 것은 유클리디안(Euclidean)거리를 사용한다.
- 개체들간의 근접성(proximity)을 시각화하여 데이터 속에 잠재해 있는 패턴이나 구조를 찾아내는 통계 기법.
- 점들사이의 집단화 표현은 거리값(Distance Measure)을 이용하여 분류한다.
거리의 종류는 다양하지만 그 중 가장 흔히 사용하는 것은 유클리디안(Euclidean)거리를 사용한다.
MDS 분류
- 계량적 MDS
데이터가 연속형 변수(구간척도, 비율척도)인 경우 사용.
각 개체들간의 유클리드 거리 행렬을 계산하고 개체들간의 비유사성을 공간상에 표현한다.
- 비계량적 MDS
- 비계량적 MDS
데이터가 순서척도인 경우 사용.
개체들간의 거리가 순서로 주어진 경우에는 순서척도를 거리의 속성과 같도록 변환하여 거리를 생성.
문제: 세 종류의 음료는 서로 유사성이 있을까?
예제 데이터: 3가지 종류의 음료 데이터 간의 지각도 데이터
(mystudy.xlsx파일의 mydrink시트)
변수명:콜라,포카리스웨트,게토레이에 대한 유사성 평가
(1:매우 유사함, 4: 보통, 7: 전혀 다름)
분석문제:
1) 여러명의 유사성 평가 데이터들을 이용한 평균값 산출
2) 다차원 척도 분석을 위한 매트릭스 작성
3) 다차원 척도 분석을 통한 지각도 작성
(1) 실습데이터 가져오기 및 패키지 설치
#엑셀의 데이터를 가져오기 위한 패키지 설치
install.packages("XLConnect")
library(XLConnect)
mystudy <- loadWorkbook("./data/mystudy.xlsx",create=T)
mydrink0 <- readWorksheet(mystudy, sheet = "mydrink",startRow = 1,startCol = 1,endRow = 11,endCol = 3)
# 읽어온 내용 확인
> mydrink0
d1 d2 d3
1 6 7 2
2 5 6 2
3 5 7 1
4 4 6 2
5 6 7 2
6 5 6 2
7 5 7 1
8 4 6 2
9 5 7 3
10 4 7 1
#mydrink0의 각 항목의 데이터를 a1,a2,a3로 저장후 각각의 평균을 구한다.
a1<-mydrink0$d1
a2<-mydrink0$d2
a3<-mydrink0$d3
z1<-mean(a1)
z2<-mean(a2)
z3<-mean(a3)
z1;z2;z3
mystudy <- loadWorkbook("mystudy.xlsx",create=T)
mydrink <- readWorksheet(mystudy, sheet = "mydrink",startRow = 14,startCol = 1,endCol = 4)
> mydrink
Drink d1 d2 d3
1 d1 0.0 4.9 6.6
2 d2 4.9 0.0 1.8
3 d3 6.6 1.8 0.0
#drink항목인 1열은 제거후 다시 가져온다
mydrink2 <- mydrink[,-1]
> mydrink2
d1 d2 d3
1 0.0 4.9 6.6
2 4.9 0.0 1.8
3 6.6 1.8 0.0
#유사성의 정도를 행렬 형식으로 보여준다. 유클리디안(Euclidean)거리를 사용
> fitdrink <- cmdscale(mydrink2)
> fitdrink
[,1] [,2]
[1,] 3.827381 0.08190154
[2,] -1.056500 -0.31522028
[3,] -2.770882 0.23331873
> x<-fitdrink[,1]
> y<-fitdrink[,2]
#제품들 간의 유사성 정도를 시각적으로 거리가 얼마나 차이가 있는지 보기 위해 plot함수 사용
plot(x,y,pch=19,xlim = c(-4,4),ylim = c(-2,2))
mydrinknames<-c("콜라","포카리","게토레이")
text(x,y,pos=3,labels=mydrinknames)
abline(h=0,v=0)
![](http://lectureblue.pe.kr/ckstorage/images/special_subject/R/21/01.jpg)
'공부 > IT-R프로그래밍' 카테고리의 다른 글
R프로그래밍 강좌 - [20][추론통계학활용] t-test,영업사원 교육 효과 분석, 다이어트 식품 효과 분석 (0) | 2018.01.19 |
---|---|
R프로그래밍 강좌 - [19][추론통계학활용]책상 납품을 위한 학생 신장 분석,광고 모델 반응 분석 (0) | 2018.01.19 |
R프로그래밍 강좌 - [17][R패키지 활용]텍스트 마이닝, 워드클라우드 (0) | 2018.01.18 |
R프로그래밍 강좌 - [18][추론통계학활용]신차 색상 고객 선호도 분석,홍보이벤트 효과 분석 (1) | 2018.01.18 |
R프로그래밍 강좌 - [16]그래프 함수 활용, Plot의 종류, 통계분포 그래프 그리기, ggplot2 (0) | 2018.01.17 |
댓글