도구 R로 푸는 통계
54. 1표본 Z 검정 함수 만들기
Z검정이 무엇인지 알고 있다고 가정하고 진행하겠습니다. Z검정이 궁금하신 분들은 아래 링크로 가셔서 보고오시면 됩니다. (1표본 Z검정의 원리 : http://hsm-edu.tistory.com/132)
1. 함수 만들기
코드를 추가해가며 순차적으로 진행하겠습니다. 한단계씩 따라하시면 됩니다.
1) R을 실행하고 새스크립트를 하나 열어줍니다.
방법을 모르시는 분은 아래 링크에서 보시면 됩니다.
(함수를 파일로 저장하는 방법 : http://hsm-edu.tistory.com/478)
2) 함수 이름과 변수를 정해줍니다. 입력 변수는 표본평균, 표본 수, 모집단의 평균, 모집단의 표준편차입니다.
my.z.test=function(sample_mean,n,population_mean,population_sd)
{
}
3) 표본평균의 분산을 계산합니다.
my.z.test=function(sample_mean,n,population_mean,population_sd)
{
sample_mean_sd=population_sd/sqrt(n)
}
5) pnorm함수를 이용하여 p-value를 계산합니다.
모평균보다 표본평균이 작은 경우에는 왼쪽꼬리부분이 p값이 되고, 큰 경우에는 오른쪽 꼬리부분이 p값이 되도록 코드를 짜주었습니다. 모평균과 표본평균이 같은 경우는 항상 0.5이기 때문에 아무데나 포함시켜도 됩니다.
my.z.test=function(sample_mean,n,population_mean,population_sd)
{
sample_mean_sd=population_sd/sqrt(n)
if(sample_mean <= population_mean)
{
p_value=pnorm(sample_mean,mean=population_mean,sd=sample_mean_sd)
}
else
{
p_value=1-pnorm(sample_mean,mean=population_mean,sd=sample_mean_sd)
}
}
6) p-value를 출력해줍니다.
cat함수를 이용해서 출력코드를 짰습니다. (출력함수 설명 : http://hsm-edu.tistory.com/350)
my.z.test=function(sample_mean,n,population_mean,population_sd)
{
sample_mean_sd=population_sd/sqrt(n)
if(sample_mean <= population_mean)
{
p_value=pnorm(sample_mean,mean=population_mean,sd=sample_mean_sd)
}
else
{
p_value=1-pnorm(sample_mean,mean=population_mean,sd=sample_mean_sd)
}
cat("\n","p value is",p_value,"\n","\n")
}
7) 함수를 저장합니다.
my.z.test.R 이라는 이름으로 저장하겠습니다.
2. 함수 사용하기
setwd()를 이용하여 함수가 저장된 폴더를 작업폴더로 설정해줍니다.
(작업폴더 설정하기 : http://hsm-edu.tistory.com/477)
아래와 같이 입력하여 함수를 실행해줍니다.
> source("my.z.test.R")
아래 링크에서 표준정규분포표로 계산했던 예제와 비교해봅시다. p-value가 0.0013이 나왔었습니다.
(1표본 Z검정 예제 : http://hsm-edu.tistory.com/217)
모평균 : 70
모표준편차 : 5
표본평균 : 68.5
표본의 크기: 100
> my.z.test(68.5,100,70,5)
p value is 0.001349898
결과가 동일한 것을 확인할 수 있습니다.
영상이 더 편하신 분
'R 주제 > R 기초 및 통계 강의' 카테고리의 다른 글
[R 강의] 56. 데이터프레임 만들기 (data.frame) (0) | 2020.03.27 |
---|---|
[R 강의] 55. 범주형 자료의 입력 (factor) (0) | 2020.03.27 |
[R 강의] 53. 함수를 파일(.R)로 저장 및 사용하기 (0) | 2020.03.26 |
[R 강의] 52. 작업폴더 보기/설정하기, 작업폴더 내 파일보기 (0) | 2020.03.26 |
[R 강의] 51. 중심극한정리 시뮬레이션 (0) | 2020.03.26 |
댓글