Yoshi Nishikawa Blog

医学となにかのインタラクティブ

Rで質問紙調査のサンプルサイズ計算を行う

今日は、質問紙調査でのサンプルサイズ計算をrで行います。

samplingbook

を用います。

早速、関数からみていきましょう。

install.packages("samplesize")
library(samplesize)

sample.size.prop(e=, P=, N=, level=)

Arguments
e positive number specifying the precision which is half width of confidence interval
P expected proportion of events with domain between values 0 and 1. Default is P=0.5.
N positive integer for population size. Default is N=Inf, which means that calculations are carried out without finite population correction.
level coverage probability for confidence intervals. Default is level=0.95.

引数が4つありますが、特に大切な数字は2つ。

e: precision(精度)

たけのこの里が好きな人が標本内に90%いるとしたときに、精度が5%だと、実際は、85~95%のたけのこの里ファンが居ることになります。 5%が一般的な数値であり、1~10%に収めるのがよいです。 小さくするとたくさんのサンプルサイズが必要になります。

level: confidence level(信頼水準)

標本が、母集団を反映することをどのレベルで信頼したいか、という指標。
95%が最も一般的です。デフォルトもlevel=0.95になっています。
大きくすると、たくさんのサンプルサイズが必要になります。

残り2つは、不明であればデフォルトで構いません。

P: 期待されるイベントの割合

実際に予想されるイベント頻度、prevalenceがわかっていればそれを入力します。 デフォルトではP=0.5になっています。

N: サーベイをおこなう全対象者数

わかれば、入力を。わからなければ、入力しないでOKです。 デフォルトはN=Infになっています。

いくつか試してみる

f:id:yoshi_nishikawa:20200526071316j:plain

eを0.01~0.1で動かす

以下のようになりました。 許容誤差が小さいと、必要サンプルサイズがとても大きくなります。

eは、標準的には0.05、一歩譲って0.075、百歩譲って0.1くらいがよいでしょう。

f:id:yoshi_nishikawa:20200526071024p:plain

install.packages("samplingbook")
library(samplingbook)

sample.size.prop(e=0.01, P=0.5, N=Inf, level=0.95)
sample.size.prop(e=0.05, P=0.5, N=Inf, level=0.95)
sample.size.prop(e=0.075, P=0.5, N=Inf, level=0.95)

e0<-seq(0.01,0.1, length=19)
res0<-rep(0,19)
for(i in 1:19){
  res0[i]<-sample.size.prop(e=e0[i], P=0.5, N=Inf, level=0.95)$n
}

plot(cbind(e0,res0), xlab = "許容誤差", ylab = "サンプルサイズ")