본문 바로가기
IT/자격증

[빅분기] 이기적 작업형 3유형 추가 자료 풀이(R)

by 꾼헨 2023. 8. 11.
728x90
반응형

빅데이터 분석기사 6회 실기 시험 약 1달 전

단답형 유형이 사라지고 작업형 3유형이 생긴다는 공지가 올라왔다.

 

이미 책은 한참 전에 구매했고,, 작업형 3유형에 대한 자료를 확인하고자 이기적 커뮤니티에 들어가보니

구매인증을 하면 자료를 준다고 하여 R 자료를 받았다.

 

추가 문제와 해설이 있는 pdf자료와 문제에 사용된 데이터 엑셀 파일, 풀이 영상등이 담겨 있었다.

문제에 대한 풀이를 공유하고자 한다.


1.

# 1. 
# 모집단의 평균값이 80 일 때 일표본 t 검정 (one sample t test) 을 시행하여 평균값이 유의한지 확인하려 한다
# 
# 1-a) 표본 평균값을 구하시오. (반올림하여 소수 셋째자리까지 계산)
# 1-b) 위의 가설을 검정하기 위한 검정 통계량을 구하시오. (반올림하여 소수 둘째자리까지 계산)
# 1-c) 위의 통계량에 대한 p-값을 구하고(반올림하여 소수 넷째자리까지 계산), 유의수준 0.05하에서 가설검정의 결과를 (채택/기각) 중 하나를 선택하시오.
data <- c( 75, 82, 80, 76, 84, 81, 79, 80, 78, 83, 74 )

mu = 80
a1 <- mean(data)

tt <- t.test(data, mu=mu)
str(tt)

stat <- tt$statistic
pval <- tt$p.value


print(round(a1, 3))
print(round(stat, 2))
print(round(pval, 4))
if(pval < 0.05) {
  print("귀무 기각")
} else {
  print("귀무 채택. 모집단의 평균은 80이라고 할 수 있다.")
}



2.

# 2. 
# p2.csv 파일에는 95 명의 키 에 대한 데이터가 있다
# 평균키는 165 cm 라 판단할 수 있는지 귀무가설과 대립가설을 설정한 후 유의수준 5% 로 검정하고자 한다
#
# 2-a) 정규성 여부를 확인하고자 한다. Shapiro 검정 통계량을 구하시오. (반올림하여 소수 셋째자리까지 계산)
# 2-b) Shapiro 검정 p-값을 구하고(반올림하여 소수 셋째자리까지 계산) 정규성 여부에 대해 유의수준 0.05로 검정하시오.
# 2-c) 데이터의 평균키는 165cm라고 할 수 있는지 일표본 t-검정을 시행하고 검정량을 소숫점 이하 3자리로 구하시오.
data <- read.csv("sample_data/p2.csv")
mu=165
#귀무 : 평균 키는 165cm이다.
#대립 : 평균 키는 165cm가 아니다.

st <- shapiro.test(data$height)
stat <- st$statistic
pval <- st$p.value

tt <- t.test(data$height, mu=mu)
tt_stat <- tt$statistic

print(round(unname(stat), 3))
print(round(pval, 3))
if(pval < 0.05) {
  print("정규성을 만족하지 않는다.")
} else {
  print("정규성을 만족한다.")
}
print(round(unname(tt_stat), 3))

 

3.

# 3.p3 .csv 파일 에는 A, B 두 학급 각 학생들의 중간고사 평균 점수들이 저장되어 있다.
# 두 학급의 시험 평균 비모수검정의 경우 중위값 은 동일하다 말할 수 있는지 확인하려 한다
#
# 3-a) 학급(class)별 각각 정규성을 만족하는지 여부를 Shapiro 검정을 통해 확인하시오.
# 3-b) A, B 학급의 데이터는 등분산을 가지는지 Levene 검정을 통해 확인하시오.
# 3-c) 두 학급의 평균 점수는 동일하다고 할 수 있는지 독립표본 t-검정을 시행하여 분석하시오.
library(dplyr)

data <- read.csv("sample_data/p3.csv")
# colSums(is.na(data))

A <- data %>% filter(class=="A")
B <- data %>% filter(class=="B")

# head(data)
sha_A <- shapiro.test(A$data)
sha_B <- shapiro.test(B$data)

sha_p_A <- sha_A$p.value
sha_p_B <- sha_B$p.value
print(sha_p_A)
print(sha_p_B)
if(sha_p_A < 0.05) {
  print("A : 정규성 만족하지 않음")
} else {
  print("A : 정규성 만족함")
}

if(sha_p_B < 0.05) {
  print("B : 정규성 만족하지 않음")
} else {
  print("B : 정규성 만족함")
}

# 레빈검정
library(car)
lt <- leveneTest(data$data, group=as.factor(data$class))
# summary(lt)
val <- lt$'Pr(>F)'[1]
if(val < 0.05) {
  print("등분산성을 만족하지 않음")
} else {
  print("등분산성을 만족함")
}

# 3-c) 두 학급의 평균 점수는 동일하다고 할 수 있는지 독립표본 t-검정을 시행하여 분석하시오.
tt <- t.test(A$data, B$data)
ttpval <- tt$p.value
print(ttpval)
if(ttpval < 0.05) {
  print("두 학급의 평균 점수는 동일하지 않다.")
} else {
  print("두 학급의 평균은 동일하다.")
}

 

4.

# 4. 
# p4.csv 파일 에는 신약을 특정 질병 집단 에 투약 전후 측정한 혈류량이 저장되어 있다
# 이 데이터를 바탕으로 투약 전후의 변화가 있는지 검정하고자 한다 .
#
# 4-a) 대응표본 t-검정(paired t-test) 통계량을 구하시오. (반올림하여 소수 셋째자리까지 계산)
# 4-b) p-값을 구하고(반올림하여 소수 셋째자리까지 계산) 귀무가설 기각 여부를 판단하시오.
data <- read.csv("sample_data/p4.csv")

# head(data)
# colSums(data)
# summary(data)
tt <- t.test(data$before, data$after, paired=T)

tt_stat <- tt$statistic
tt_pval <- tt$p.value

print(round(unname(tt_stat), 3))
print(round(unname(tt_pval, 3)))
if(tt_pval < 0.05) {
  print("혈류량은 줄었다.")
} else {
  print("혈류량은 줄지 않았다.")
}


5. 

# 5.
# 모집단 평균 2
# 표본 평균이 통계적으로 유의한지 일표본 t-검정하여라
#
# 5-a) 실험에서 얻은 표본의 평균값을 구하시오. (반올림하여 소수 둘째자리까지 계산)
# 5-b) 위의 가설을 검정하기 위한 검정 통계량을 구하시오. (반올림하여 소수 셋째자리까지 계산)
# 5-c) 위의 통계량에 대한 p-값을 구하고(반올림하여 소수 셋째자리까지 계산),
#      유의수준 0.05하에서 가설검정의 결과를 (채택/기각) 중 하나를 선택하시오.
data <- c( 2.1 , 1.9 , 1.8 , 2.0 , 2.2 , 2.3 , 1.9 , 1.7 , 2.4 , 2.5)

mean <- mean(data)

tt <- t.test(data, mu=2)
tt_stat <- tt$statistic
tt_pval <- tt$p.value


print(round(mean, 2))
print(round(unname(tt_stat), 3))
print(round(tt_pval, 3))
if(tt_pval < 0.05 ){
  print("표본평균은 유의하지 않다.")
}else {
  print("표본평균은 유의하다.")
}

 

 

 

728x90
반응형