학과별 학점 분포 인원수 표가 있다. 학과와 성적이 관계있는지를 검정하라
# packages
library("tidyverse")
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.5 v dplyr 1.0.7
## v tidyr 1.1.4 v stringr 1.4.0
## v readr 2.0.2 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
##
## 다음의 패키지를 부착합니다: 'reshape2'
## The following object is masked from 'package:tidyr':
##
## smiths
데이터 EDA 수행 후, 분석가 입장에서 의미있는 탐색
사회과학 <- c(15, 60, 24)
자연과학 <- c(25, 69, 5)
공학 <- c(10, 77, 13)
score <- c(2, 3, 4)
data <- data.frame(score, 사회과학, 자연과학, 공학)
data
## score 사회과학 자연과학 공학
## 1 2 15 25 10
## 2 3 60 69 77
## 3 4 24 5 13
class(data) # 'data.frame'
## [1] "data.frame"
data.m <- melt(data, id.vars=1)
data.m
## score variable value
## 1 2 사회과학 15
## 2 3 사회과학 60
## 3 4 사회과학 24
## 4 2 자연과학 25
## 5 3 자연과학 69
## 6 4 자연과학 5
## 7 2 공학 10
## 8 3 공학 77
## 9 4 공학 13
귀무가설, 연구가설 세우기
# 귀무가설 = 학과와 성적은 관계가 없다.
# 연구가설 = 학과와 성적은 관계가 있다.
차이검정
tway <- aov(score~variable+value, data.m)
tway
## Call:
## aov(formula = score ~ variable + value, data = data.m)
##
## Terms:
## variable value Residuals
## Sum of Squares 0.000000 0.010419 5.989581
## Deg. of Freedom 2 1 5
##
## Residual standard error: 1.094494
## Estimated effects may be unbalanced
# variable 의 P 값 1, 귀무가설 기각 못함, 학과에 따른 성적 차이는 없다.
summary(tway)
## Df Sum Sq Mean Sq F value Pr(>F)
## variable 2 0.00 0.0000 0.000 1.000
## value 1 0.01 0.0104 0.009 0.929
## Residuals 5 5.99 1.1979
학과와 성적이 독립일 경우의 기댓값을 구하시오
# 학과와 성적이 독립일 경우의 기댓값
# 독립이라는 건 교호 작용이 없다는 의미..
# 상기식엔 교호작용 항 없이 계산
lm(score ~ . , data)
##
## Call:
## lm(formula = score ~ ., data = data)
##
## Coefficients:
## (Intercept) 사회과학 자연과학 공학
## 2.31250 0.08333 -0.06250 NA
검정통계량 구하고 연구가설의 채택여부 작성
# 연구가설 채택 못함
# Df Sum Sq Mean Sq F value Pr(>F)
# variable 2 0.00 0.0000 0.000 1.000
# value 1 0.01 0.0104 0.009 0.929
# Residuals 5 5.99 1.1979