井出草平の研究ノート

有病率の計算[R]

こちらのエントリでStataで行ったことをRでもやってみたい。 有病率の計算はprevalenceパッケージを用いる。

prevalence.cbra.be

prevalenceパッケージはベイズ統計学の計算にJAGSとrjagsを利用する。
JAGSを使ったことがない場合には、インストールが必要である。

JAGSのインストール

sourceforgeからダウンロードする。

sourceforge.net

ほとんどの人は/files/JAGS/4.x/Windows/からダウンロードすることになるだろう。
通常のアプリケーションと同じようにダウンロードをして、ダイアログボックスに従ってインストールする。

ほとんどの人はJAGS/4.x/Windows/からダウンロードすることになるだろう。ちなみに僕は/files/JAGS/4.x/Windows/JAGS-4.3.0.exeをインストールした。
通常のアプリケーションと同じようにダウンロードをして、ダイアログボックスに従ってインストールする。Pathは通す必要がない。

rjagsパッケージのインストール

rjagsはRからインストールする。

install.packages("rjags")

prevalenceパッケージのインストール

いつもは書かないが、一応prevalenceパッケージのインストールもコードを書いておこう。

install.packages("prevalence")

内閣府ひきこもり調査の例

生活状況に関する調査 https://www8.cao.go.jp/youth/kenkyu/life/h30/pdf/kekka_gaiyo.pdf

この調査の結果は下記であった。
- 有効回答数 3248人 - ひきこもり群 47人

library(prevalence)
propCI(47, 3248, method = "all", level = 0.95, sortby = "level")

結果は以下。

   x    n          p        method level      lower      upper
1 47 3248 0.01447044 agresti.coull  0.95 0.01086018 0.01922783
2 47 3248 0.01447044         exact  0.95 0.01065120 0.01919662
3 47 3248 0.01447044      jeffreys  0.95 0.01078351 0.01902143
4 47 3248 0.01447044          wald  0.95 0.01036353 0.01857736
5 47 3248 0.01447044        wilson  0.95 0.01089964 0.01918838

Rのprevalenceパッケージの場合はどの推定方法であっても、信頼区間のレベルを指定できるとこがStataより優れている。Stataはすべての推定法で区間レベルの変更がオプションで用意されていない。
通常は、95%しか使わないので、不要かもしれないが、かゆいところに手が届くのがRおよび有志の作ったパッケージのよいところである。

推定方法が決まっている場合にはmethodで指定する。agresti.coull法を使うのであればmethod = agresti.coullにする。

ちなみに、僕の環境ではpropCI()はRStudioのコンソールからしか実行できなかった。 いつもの回避法だが、R Markdownでは、一度結果を格納してからprint()をすると表示できる。

res<-propCI(47, 3248, method = "all", level = 0.95, sortby = "level")
print(res)

各推定方法についてはStataのエントリを参考にして欲しい → こちら