R-ANOVA검정,상관관계분석

2 minute read

ANOVA 검정

3개 이상의 요인 검정 방법

독립변수: 범주형, 종속변수: 연속형
ANOVA 검정이란 통계학에서 두 개 이상 다수의 집단을 비교하고자 할 때 집단 내의 분산, 총평균과 각 집단의 평균의 차이에 의해 생긴 집단 간 분산의 비교를 통해 만들어진 F분포를 이용하여 가설검정을 하는 방법이다.
참조:위키백과

이번 코드에서는 이상치를 제거한다.
이상치: 정상범주에서 크게 벗어난 값. 이상치가 포함되어있을 시, 분석 결과가 왜곡되므로 분석 전에 이상치 제거 작업 필요

귀무가설3가지 교육방법을 통한 실기시험 평균의 차이가 없다.
대립가설3가지 교육방법을 통한 실기시험 평균의 차이가 있다.
결과p-value(=0.4777 , 0.7012) > 0.05(95% 신뢰확률에서의 유의수준) => 대립가설 채택


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#ANOVA검정
#3가지 교육방법을 적용하여 1개월동안 교육받은 교육생을 대상으로 실기시험을 실시하였다.
#실기시험의 평균에 차이가 있는지 검정

#귀무: 3가지 교육방법을 통한 실기시험 평균의 차이가 없다.
#대립: 3가지 교육방법을 통한 실기시험 평균의 차이가 있다.
data<-read.csv("C:/git/R/Data/three_sample.csv",header = T)
head(data)

#na행 제거
data2<-subset(data,!is.na(score),c("method","score"))
head(data2)

#이상치 제거
plot(data$score)
boxplot(data$score)
length(data$score)
data2<-subset(data,score<=15)
length(data2$score)
boxplot(data2$score)

table(data2$method)
data2$method2[data2$method==1]<-"방법1"
data2$method2[data2$method==2]<-"방법2"
data2$method2[data2$method==3]<-"방법3"
table(data2$method2)

x<-table(data2$method2)
x
y<-tapply(data2$score,data2$method2,mean)
y

df<-data.frame(교육방법=x,성적=y)
df

#정규성 검정
shapiro.test(data2$score) #p-value = 0.1897 > 0.05 -> 정규분포를 따른다.

#등분산성 - 세 집단 간의 동질성 확인
bartlett.test(score~method2,data=data2) #p-value = 0.1905 > 0.05 -> 등분산성OK
#두 집단일때는 var.test 사용
#세 집단 이상일 때는 bartlett.test 사용

install.packages("lattice")
library(lattice)
densityplot(score~(method),data = data2) #1,2,3에 대해서 분산의 차이를 보여준다.

#ANOVA검정
#방법1: aov()
result<-aov(score~method2,data = data2)
result
summary(result) #p-val=0.701

#방법2: anova()
lmodel<-lm(score~method2,data = data2)
anova(lmodel) #p-val=0.7012

#방법3: oneway.test()
oneway.test(score~method2,data = data2) #p-value = 0.4777
oneway.test(score~method2,data = data2,var.equal = T) #p-value = 0.7012


출력결과-방법1


출력결과-방법2


출력결과-방법3


상관관계분석

상관관계분석(correlation analysis)의 기본적인 목적은 변수간의 관계성을 파악하는 것이다. 예를 들어, 국어점수와 산수점수간의 관계성이 어떠한가를 알고자 할 때 대표적으로 상관관계분석을 수행하게 된다.
ANOVA가 변수간의 인과성을 검증하는 대표적인 방법이라면, 상관은 변수간의 관계성만을 파악하는 방법이다. 따라서 상관관계분석에서는 ‘국어점수는 원인변수이고 산수점수는 결과변수이다. 혹은 그 반대이다’와 같이 진술할 수 없다.
변수의 관계성 정도는 관계성의 ‘강도’라 할 수 있다. 보통 상관은 상관계수(correlation coefficient: r)로 표시되는데, 상관계수 r이 크다는 것은 두 변수가 강한 관계성을 가지고 있다는 의미이다.
출처:ABRUPTLY 블로그


1
2
3
4
5
6
#상관관계 분석
result <- read.csv("C:/git/R/Data/drinking_water.csv",header = T,fileEncoding ="UTF-8")
head(result)
summary(result)
cor(result)
cor(result,method="pearson")


출력결과


상관관계분석 시각화


1
2
3
4
#상관관계분석 시각화
install.packages("corrgram")
library(corrgram)
corrgram(result)


출력결과



참조: 원본코드
코드에 문제가 있거나 궁금한 점이 있으면 wjddyd66@naver.com으로 Mail을 남겨주세요.

Categories:

Updated:

Leave a comment