Q. 아이스크림의 무게 평균인 320g이 유효한 것인지 알아보자. ost라는 표준을 뽑아서 검정을 해보자.


two-sided test: alternative = c(“two.sided”) 양측검정

right-sided test: alternative = c(“greater”) 우측검정

left-sided test: alternative = c(“less”) 좌측검정


데이터 불러오기

ost <- read.csv("C:/Users/wun99/Desktop/Summer Study/R통계분석-심흥섭/RStat/Ch07.평균차이검정(t-test)/data/01.ost.csv",
                header=TRUE,
                na.strings = ".")

데이터 살펴보기

str(ost)
## 'data.frame':    100 obs. of  1 variable:
##  $ weight: num  319 242 291 276 348 ...

소수점 2자리로 반올림

ost<-round(ost,2)

기본 통계치 확인: describe(psych 패키지 활용)

attach(ost) # 객체연결 <-> detach
library(psych)
describe(ost)
##    vars   n   mean    sd median trimmed   mad    min    max  range  skew
## X1    1 100 295.44 20.04 295.77  296.45 19.73 241.97 347.55 105.58 -0.33
##    kurtosis se
## X1    -0.12  2

그래프 그리기(박스그래프, 히스토그램)

opar <- par(no.readonly=TRUE)
par(mfrow=c(1,2))
boxplot(weight)
hist(weight,breaks = 10,col="red",
     xlab = "무게",ylab="개수",
     ylim=c(0,25),
     main="아이스크림 무게에 대한 히스토그램 및 정규분포")

opar
## $xlog
## [1] FALSE
## 
## $ylog
## [1] FALSE
## 
## $adj
## [1] 0.5
## 
## $ann
## [1] TRUE
## 
## $ask
## [1] FALSE
## 
## $bg
## [1] "white"
## 
## $bty
## [1] "o"
## 
## $cex
## [1] 1
## 
## $cex.axis
## [1] 1
## 
## $cex.lab
## [1] 1
## 
## $cex.main
## [1] 1.2
## 
## $cex.sub
## [1] 1
## 
## $col
## [1] "black"
## 
## $col.axis
## [1] "black"
## 
## $col.lab
## [1] "black"
## 
## $col.main
## [1] "black"
## 
## $col.sub
## [1] "black"
## 
## $crt
## [1] 0
## 
## $err
## [1] 0
## 
## $family
## [1] ""
## 
## $fg
## [1] "black"
## 
## $fig
## [1] 0 1 0 1
## 
## $fin
## [1] 6.999999 4.999999
## 
## $font
## [1] 1
## 
## $font.axis
## [1] 1
## 
## $font.lab
## [1] 1
## 
## $font.main
## [1] 2
## 
## $font.sub
## [1] 1
## 
## $lab
## [1] 5 5 7
## 
## $las
## [1] 0
## 
## $lend
## [1] "round"
## 
## $lheight
## [1] 1
## 
## $ljoin
## [1] "round"
## 
## $lmitre
## [1] 10
## 
## $lty
## [1] "solid"
## 
## $lwd
## [1] 1
## 
## $mai
## [1] 1.02 0.82 0.82 0.42
## 
## $mar
## [1] 5.1 4.1 4.1 2.1
## 
## $mex
## [1] 1
## 
## $mfcol
## [1] 1 1
## 
## $mfg
## [1] 1 1 1 1
## 
## $mfrow
## [1] 1 1
## 
## $mgp
## [1] 3 1 0
## 
## $mkh
## [1] 0.001
## 
## $new
## [1] FALSE
## 
## $oma
## [1] 0 0 0 0
## 
## $omd
## [1] 0 1 0 1
## 
## $omi
## [1] 0 0 0 0
## 
## $pch
## [1] 1
## 
## $pin
## [1] 5.759999 3.159999
## 
## $plt
## [1] 0.1171429 0.9400000 0.2040000 0.8360000
## 
## $ps
## [1] 12
## 
## $pty
## [1] "m"
## 
## $smo
## [1] 1
## 
## $srt
## [1] 0
## 
## $tck
## [1] NA
## 
## $tcl
## [1] -0.5
## 
## $usr
## [1] 0 1 0 1
## 
## $xaxp
## [1] 0 1 5
## 
## $xaxs
## [1] "r"
## 
## $xaxt
## [1] "s"
## 
## $xpd
## [1] FALSE
## 
## $yaxp
## [1] 0 1 5
## 
## $yaxs
## [1] "r"
## 
## $yaxt
## [1] "s"
## 
## $ylbias
## [1] 0.2

통계분석

options("scipen"=20) #지수 표기법 수정 : 2.2e-4=0.00022
t.test(ost,
       alternative = c("two.sided"), #양측검정
       mu = 320.0,                   #귀무가설의 모평균
       conf.level = 0.95)            #신뢰구간 95% 설정
## 
##  One Sample t-test
## 
## data:  ost
## t = -12.252, df = 99, p-value < 0.00000000000000022
## alternative hypothesis: true mean is not equal to 320
## 95 percent confidence interval:
##  291.4683 299.4215
## sample estimates:
## mean of x 
##  295.4449

통계 결과 그래프

mu=320
se=2 #표본이기 때문에 sd 대신에 se 사용
data <- rnorm(100,mu,se) #100개의 난수 생성
data <- sort(data)       #데이터 정렬 
plot(data, dnorm(data,mu,se), type = "l",
     main="아이스크림 무게(Mu=320) 검정",
     xlim=c(290,330))
#abline
abline(v=mu, col="green", lty=5)
abline(v=mu+1.96*se, col="blue", lty=5)
abline(v=mu-1.96*se, col="blue", lty=5)
abline(v=295.44, col="red", lty=5)

detach(ost)