一つの母集団からのサンプル抽出を味わう



$ vim command.in

dat <- rnorm(10000, mean=0, sd=1)
#母集団のヒストグラムに母集団の平均値を記述(green)
png("120730_hist_1.png")
hist(dat, breaks=100)
abline(v=mean(dat), col="green")
dev.off()

#サンプルの平均値をmagendaで記述。
#サンプルの平均値のばらつきを見極める。
png("120730_hist_2.png")
hist(dat, breaks=100)
abline(v=mean(dat), col="green")
for(i in 1:10)
{
abline(v=mean(dat[sample(1000,10)], col="magenda"))
}
dev.off()

$ fg
> source("command.in")

サンプルの平均値は母平均のそばを漂っているイメージである。
この事実から言えることは、サンプル
サンプリングした標本に対しての統計学的なデータの要約方法について記述する。

#サンプリング(1000個の母集団の要素中から10個を抽出)

> sample <- dat[sample(1000,10)]
> sample
 [1]  0.3197940  1.8119807 -0.2420026 -0.2343419 -0.6559658  0.5846391
 [7] -0.7373418  0.5727909  0.7129338  0.0694458

#標本数
> length(sample)
[1] 10

#平均値の計算
> mean(sample)
[1] 0.2201932 


#標本標準偏差の計算
#Rにはデフォルトでは不偏分散
> variance <- function(x){var(x)*(length(x)-1)/length(x)}
> sqrt(variance(sample))
[1] 0.7191055

#標本の95%信頼区域を計算(ついでに平均値が0であるかの検定も行う)

> t.test(sample, mu=0, alternative="two.sided")

One Sample t-test

data:  sample
t = 0.9186, df = 9, p-value = 0.3823
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
 -0.3220500  0.7624364 
sample estimates:
mean of x
0.2201932

以上より、以下の記述が可能です。

○(平均(標準偏差)[範囲])
グループA(n=20)
データ(無次元)  0.22(0.72)[-0.32 - 0.76 ]


○(平均±標準偏差)[範囲])
グループA(n=20)
データ(無次元)  0.22 ± 0.72[-0.32 - 0.76 ]


#ちなみに、95%信頼区間が0をまたいでいる[-0.32 - 0.76 ]ということは、t検定により、母平均が0とは異なるとまでは言えないということと同値である。かりに、p値が0.05を下回るようならば、95%信頼区間が正負いずれかの方向に偏ることになる。