R에서 샘플링 분포를 계산하는 방법


표본분포는 단일 모집단의 많은 무작위 표본을 기반으로 특정 통계 의 확률 분포입니다.

이 튜토리얼에서는 R에서 샘플링 분포를 사용하여 다음을 수행하는 방법을 설명합니다.

  • 표본분포를 생성합니다.
  • 샘플링 분포를 시각화합니다.
  • 표본분포의 평균과 표준편차를 계산합니다.
  • 표본분포에 관한 확률을 계산합니다.

R에서 샘플링 분포 생성

다음 코드는 R에서 샘플링 분포를 생성하는 방법을 보여줍니다.

 #make this example reproducible
set.seed(0)

#define number of samples
n = 10000

#create empty vector of length n
sample_means = rep (NA, n)

#fill empty vector with means
for (i in 1:n){
  sample_means[i] = mean ( rnorm (20, mean=5.3, sd=9))
}

#view first six sample means
head(sample_means)

[1] 5.283992 6.304845 4.259583 3.915274 7.756386 4.532656

이 예에서는 rnorm() 함수를 사용하여 각 표본 크기가 20이고 평균이 5.3이고 표준 편차가 9인 정규 분포에서 생성된 10,000개 표본의 평균을 계산했습니다.

첫 번째 표본의 평균은 5.283992이고 두 번째 표본의 평균은 6.304845라는 것을 알 수 있습니다.

샘플링 분포 시각화

다음 코드는 샘플링 분포를 시각화하기 위해 간단한 히스토그램을 만드는 방법을 보여줍니다.

 #create histogram to visualize the sampling distribution
hist(sample_means, main = "", xlab = " Sample Means ", col = " steelblue ")

R 히스토그램의 샘플링 분포

표본분포는 종 모양을 이루고 있으며 값 5 근처에서 정점을 이루고 있음을 알 수 있다.

그러나 분포의 꼬리를 보면 일부 표본의 평균이 10보다 크고 다른 표본의 평균이 0보다 작은 것을 알 수 있습니다.

평균과 표준편차 구하기

다음 코드는 샘플링 분포의 평균 및 표준 편차를 계산하는 방법을 보여줍니다.

 #mean of sampling distribution
mean(sample_means)

[1] 5.287195

#standard deviation of sampling distribution
sd(sample_means)

[1] 2.00224

이론적으로 표본분포의 평균은 5.3이 되어야 합니다. 이 예에서 실제 표본 평균은 5.287195 로 5.3에 가깝다는 것을 알 수 있습니다.

그리고 이론적으로 표본분포의 표준편차는 s/√n과 같아야 하며 이는 9 / √20 = 2.012가 됩니다. 표본분포의 실제 표준편차는 2.00224 로, 2.012에 가깝다는 것을 알 수 있습니다.

확률을 계산하세요

다음 코드는 모집단 평균, 모집단 표준 편차 및 표본 크기가 주어졌을 때 표본 평균에 대해 특정 값을 얻을 확률을 계산하는 방법을 보여줍니다.

 #calculate probability that sample mean is less than or equal to 6
sum(sample_means <= 6) / length(sample_means)

이 특정 예에서는 모집단 평균이 5.3이고 모집단 표준 편차가 9이며 표본 20의 크기가 0.6417 인 경우 표본 평균이 6보다 작거나 같을 확률을 찾습니다.

이는 샘플링 분포 계산기 로 계산한 확률과 매우 유사합니다.

샘플링 분포 계산

완전한 코드

이 예제에 사용된 전체 R 코드는 다음과 같습니다.

 #make this example reproducible
set.seed(0)

#define number of samples
n = 10000

#create empty vector of length n
sample_means = rep (NA, n)

#fill empty vector with means
for (i in 1:n){
  sample_means[i] = mean ( rnorm (20, mean=5.3, sd=9))
}

#view first six sample means
head(sample_means)

#create histogram to visualize the sampling distribution
hist(sample_means, main = "", xlab = " Sample Means ", col = " steelblue ")

#mean of sampling distribution
mean(sample_means)

#standard deviation of sampling distribution
sd(sample_means)

#calculate probability that sample mean is less than or equal to 6
sum(sample_means <= 6) / length(sample_means)

추가 리소스

표본분포 소개
샘플링 분포 계산기
중심 극한 정리 소개

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다