R-Studio 귀무가설 검증을 위한 단일 집단 비율 검정 binom.test 과 두 집단 비율 차이 검증prop.test

R-Studio의 귀무가설 검증을 위해 binom.test 함수 와 prop.test 사용하기.

Featured image

파일 소스

우클릭 -> 다른이름으로 링크저장 이용해 주세요
S20191031.zip

사용 함수

binom.test()
prop.test()

사용 예시 소스코드 1

# 중소 기업에서 생산한 HDTV 판매율을 높이기 위해서 프로모션을 진행한 결과 
# 기존 구매 비율 보다 15% 향상되었는지를 각 단계별로 분석을 수행하여 검정하시오.
# 
# 파일 이름 : hdtv.csv
#
# 연구가설(H1) : 기존 구매 비율과 차이가 있다.
# 귀무가설(H0) : 기존 구매 비율과 차이가 없다.
# 
# 조건) 구매 여부 변수 : buy (1: 구매하지 않음, 2: 구매)
# 단계1: 데이터셋 가져오기
df <- read.csv("hdtv.csv")
df

# 단계2: 빈도수와 비율 계산
# install.packages('prettyR')
library(prettyR)
# table() 함수 및 freq() 등의 함수 사용해보기
ta <- table(df$buy)
tf <- freq(df$buy)
ta
tf

# 단계3: 가설 검정
# binom.test()
# 양측 및 단측 검정 수행해보기
bt <- binom.test(x = 10, n=(10+40), p=0.15)
bt$p.value > 0.05 
# Exact binomial test
# 
# data:  10 and (10 + 40)
# number of successes = 10, number of trials = 50, p-value = 0.321
# alternative hypothesis: true probability of success is not equal to 0.15
# 95 percent confidence interval:
#   0.1003022 0.3371831 <- p의 값이 0.321 이기 때문에 신뢰 범위에 들어가는 수치이다.
# sample estimates:
#   probability of success 
# 0.2 
# 연구가설이 채택 되었음. # 기존 구매 비율과 차이가 있다.
# 50의 10은 20% 이기 때문에 15% 이상이므로 연구 가설 에 맞는다.

bt_left <- binom.test(x = 10, n=(10+40), p=0.15, alternative = "less")
bt_left$p.value > 0.05 # x의값(기존꺼 산다)이 n의 값(기존꺼 안좋아서 딴거 살꺼다) 보다 작다.
# 귀무 가설 기각으로 연구가설 채택 한다.

사용 예시 소스코드 2

# 대학에 진학한 남학생과 여학생을 대상으로 진학한 대학에 대해서 만족도에 차이가 있는가를 검정하시오.
# 서베이가 0이면 만족 1이면 불만족
# 힌트) 두 집단 비율 차이 검정
# 
# 파일명 : two_sample.csv
# 변수명 : gender(1,2), survey(0,1)
# 
# 단계1: 실습 데이터 가져오기
df <- read.csv("two_sample.csv")

# 단계2: 두 집단 subset 작성
# # 데이터 정체/전처리
df <- subset(df, !is.na(df$survey))
male <- subset(df, df$gender == 1)
female <- subset(df, df$gender == 2)

# # 교차테이블 확인
library(gmodels)
ta <- table(df$gender, df$survey)
CrossTable(ta)

mt <- table(male$survey)
ft <- table(female$survey)

mtp <- prop.table(mt)
ftp <- prop.table(ft)

# 단계3: 두 집단 비율 차이 검증
# 연구 : 만족도의 차이가 있다.
# 귀무 : 만족도의 차이가 없다.
ptt <- prop.test(c(138, 107), c(138+36, 19+107))
ptt$p.value > 0.05