sampling_distribution_in_r
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
sampling_distribution_in_r [2024/03/19 12:18] – [Sampling distribution in R e.g. 1] hkimscil | sampling_distribution_in_r [2024/03/20 13:57] – [Sampling distribution in R e.g. 1] hkimscil | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Sampling distribution in R e.g. 1 ====== | ====== Sampling distribution in R e.g. 1 ====== | ||
- | < | ||
- | n.ca <- 100000 | ||
- | mean.ca <- 70 | ||
- | sd.ca <- 15 | ||
- | set.seed(2020) | ||
- | ca <- rnorm(n.ca, mean=mean.ca, | ||
- | ca <- round(ca, 0) | ||
- | hist(ca, xlab=" | ||
- | curve(dnorm(x, | ||
- | abline(v=mean.ca, | ||
- | summary(ca) | ||
- | mu <- round(mean(ca)) | ||
- | sigma <- round(sd(ca)) | ||
- | mu | ||
- | sigma | ||
- | </ | ||
- | |||
- | < | ||
- | rnorm2 <- function(n, | ||
- | n.ca <- 100000 | ||
- | mean.ca <- 70 | ||
- | sd.ca <- 15 | ||
- | set.seed(101) | ||
- | ca <- rnorm2(n.ca, | ||
- | ca <- round(ca, 0) | ||
- | hist(ca, xlab=" | ||
- | curve(dnorm(x, | ||
- | abline(v=mean.ca, | ||
- | summary(ca) | ||
- | mu <- round(mean(ca)) | ||
- | sigma <- round(sd(ca)) | ||
- | mu | ||
- | sigma | ||
- | </ | ||
- | |||
- | < | ||
- | > summary(ca) | ||
- | Min. 1st Qu. Median | ||
- | | ||
- | > | ||
- | </ | ||
- | |||
- | 최소값 70 | ||
- | 최대값 132 | ||
- | |||
- | 대강의 아이디어. | ||
- | |||
- | * 위의 점수가 전국 고등학교 2년생의 (모집단) 수학점수라고 가정을 하자. 그리고, 이 모집단의 수학점수 평균은 70, 표준편차는 15임을 알고 있으며 최소값과 최대값 또한 알고 있다 (각각 70, 132) | ||
- | * 그런데 내가 수학을 학생들에게 (25명) 가르치는데 그 방법이 남달라서 효과가 좋다는 것을 확신한고 있다고 하자. | ||
- | * 이를 증명하는데 가장 확실하게 느낄수 있는 (?) 방법은 내 학생의 점수가 위의 모집단 점수의 최대값인 132점을 넘는 것이다. | ||
- | * 132점을 넘는 학생은 모집단에 속한 학생이 아니라 다른 모집단에 (나의 교육방법을 교수받은 모집단) 속한 학생이라고 생각할 수 있는 것이다. | ||
- | * 내가 가르친 학생들의 평균점수가 132점을 모두 넘는다면 한 학생이 아니라 나의 집단이 (샘플이) 모집단에 속하지 않는 특별한 집단이라고 생각할 수 있다. | ||
- | |||
- | * 그러나 현실적으로 이렇게 판단하기에는 넘어야 할 점수가 너무 크다. | ||
- | |||
- | |||
- | {{: | ||
- | |||
< | < | ||
n.ajstu <- 100000 | n.ajstu <- 100000 | ||
- | mean.ajstu <- 70 | + | mean.ajstu <- 100 |
sd.ajstu <- 10 | sd.ajstu <- 10 | ||
+ | |||
set.seed(1024) | set.seed(1024) | ||
ajstu <- rnorm2(n.ajstu, | ajstu <- rnorm2(n.ajstu, | ||
Line 67: | Line 10: | ||
mean(ajstu) | mean(ajstu) | ||
sd(ajstu) | sd(ajstu) | ||
- | iter <- 10000 | + | var(ajstu) |
- | n <- 4 | + | iter <- 10000 # # of sampling |
+ | |||
+ | n.4 <- 4 | ||
means4 <- rep (NA, iter) | means4 <- rep (NA, iter) | ||
for(i in 1:iter){ | for(i in 1:iter){ | ||
- | means4[i] = mean(sample(ajstu, | + | means4[i] = mean(sample(ajstu, |
} | } | ||
- | n <- 25 | + | n.25 <- 25 |
means25 <- rep (NA, iter) | means25 <- rep (NA, iter) | ||
for(i in 1:iter){ | for(i in 1:iter){ | ||
- | means25[i] = mean(sample(ajstu, | + | means25[i] = mean(sample(ajstu, |
} | } | ||
- | n <- 100 | + | n.100 <- 100 |
means100 <- rep (NA, iter) | means100 <- rep (NA, iter) | ||
for(i in 1:iter){ | for(i in 1:iter){ | ||
- | means100[i] = mean(sample(ajstu, | + | means100[i] = mean(sample(ajstu, |
} | } | ||
- | n <- 400 | + | n.400 <- 400 |
means400 <- rep (NA, iter) | means400 <- rep (NA, iter) | ||
for(i in 1:iter){ | for(i in 1:iter){ | ||
- | means400[i] = mean(sample(ajstu, | + | means400[i] = mean(sample(ajstu, |
} | } | ||
- | n <- 900 | + | n.900 <- 900 |
means900 <- rep (NA, iter) | means900 <- rep (NA, iter) | ||
for(i in 1:iter){ | for(i in 1:iter){ | ||
- | means900[i] = mean(sample(ajstu, | + | means900[i] = mean(sample(ajstu, |
} | } | ||
- | n <- 1600 | + | n.1600 <- 1600 |
means1600 <- rep (NA, iter) | means1600 <- rep (NA, iter) | ||
for(i in 1:iter){ | for(i in 1:iter){ | ||
- | means1600[i] = mean(sample(ajstu, | + | means1600[i] = mean(sample(ajstu, |
} | } | ||
- | n <- 2500 | + | n.2500 <- 2500 |
means2500 <- rep (NA, iter) | means2500 <- rep (NA, iter) | ||
for(i in 1:iter){ | for(i in 1:iter){ | ||
- | means2500[i] = mean(sample(ajstu, | + | means2500[i] = mean(sample(ajstu, |
} | } | ||
Line 126: | Line 71: | ||
plot(h900, add = T, col=" | plot(h900, add = T, col=" | ||
- | se4 <- sqrt(var(ajstu)/ | ||
- | se25 <- sqrt(var(ajstu)/ | ||
- | se100 <- sqrt(var(ajstu)/ | ||
- | se400 <- sqrt(var(ajstu)/ | ||
- | se900 <- sqrt(var(ajstu)/ | ||
- | se1600 <- sqrt(var(ajstu)/ | ||
- | se2500 <- sqrt(var(ajstu)/ | ||
- | sss <- c(4, | + | sss <- c(4, |
- | ses <- rep (NA, length(sss)) | + | ses <- rep (NA, length(sss)) |
for(i in 1: | for(i in 1: | ||
ses[i] = sqrt(var(ajstu)/ | ses[i] = sqrt(var(ajstu)/ | ||
} | } | ||
+ | |||
ses | ses | ||
+ | se.1 <- ses | ||
+ | se.2 <- 2 * ses | ||
+ | lower.s2 <- mean(ajstu)-se.2 | ||
+ | upper.s2 <- mean(ajstu)+se.2 | ||
+ | data.frame(cbind(sss, | ||
+ | </ | ||
+ | < | ||
+ | # n =1600 일 경우에 | ||
+ | # sample의 평균이 100.15보다 작을 | ||
+ | # 확률은 어떻게 구해야 할까? | ||
+ | # n = 1600 일 경우에 | ||
+ | # sampling distribution은 | ||
+ | # Xbar ~ N(100, var(ajstu)/ | ||
+ | # 그리고, 위에서 standard error값은 | ||
+ | # sqrt(var(ajstu)/ | ||
+ | # 이것을 standard error라고 부른다 | ||
+ | # 따라서 | ||
+ | pnorm(100.15, | ||
</ | </ | ||
+ | |||
{{: | {{: | ||
===== Sampling distribution in proportion in R ===== | ===== Sampling distribution in proportion in R ===== |
sampling_distribution_in_r.txt · Last modified: 2024/03/20 14:15 by hkimscil