RcmdrPlugin.catdap マニュアル


統計数理研究所

2018年3月



1. はじめに
2. インストール手順
2.1 Windowsの場合
2.2 Linuxの場合
3. 解析
3.1 データセットの読み込み
3.2 メタ情報データセットの作成
3.3 解析の実行
4. 実行例
5. 参考文献


1. はじめに

 本パッケージは Rcmdrのプラグインであり,カテゴリカルデータ解析のためのRパッケージ catdap の解析機能の一部をGUIを利用して実行できます. catdapパッケージの解析関数としては catdap1() と catdap2() がありますが,このプラグインではcatdap2()の解析 すなわち 一つの着目した項目(目的変数)を固定し最も適切に説明する他の項目(説明変数)の組合せの探索を行うことができます.catdapはカテゴリカルデータだけでなく連続値データの場合も扱えますが,連続値を離散化するために後に説明する観測精度とプール形式といった情報が変数ごとに必要になります.

 はじめに R は既にインストールされていることを前提に,準備としての Rcmdr のインストール,続いて catdap と RcmdrPlugin.catdap のインストール について説明します.R のインストール方法については,RjpWikiCRAN ホームページ を参照してください.インストール手順は,Windows7 (R-3.4.4) と Ubuntu 14.04 LTS (R-3.4.4) でRcmdr (バージョン 2.4-2)をインストールして確認した手順です.

 続いて解析の進め方を,解析したいデータの読み込み,観測精度とプール形式を記述するメタ情報データセットの作成,解析の実行 の順に説明します.最後に,実行例として catdap パッケージのヘルプの例題と同じデータを使用して実行した場合を示します.catdap パッケージについては こちらを参照してください.


2. インストール手順

2.1 Windows の場合

2.1.1 Rcmdr のインストール

     RGui を起動
  -> R Console のメニュー「パッケージ」
  ->「CRAN ミラーサイトの設定...」
  -> ミラーサイトの選択画面で「Japan (Tokyo)」をクリックして[OK]

  ->「パッケージのインストール...」
  -> ファイル選択画面で Rcmdr をクリックして[OK]

* 補足
Rcmdr を最初にロードしたとき,以下のようなダイアログが表示された場合はメッセージにしたがってインストールしてください.

WindowsInstall

2.1.2 catdap と RcmdrPlugin.catdap のインストール

(注) インストールは catdap, RcmdrPlugin.catdap の順に行ってください.

catdap_1.3.4.zipRcmdrPlugin.catdap_1.1.0.zip を任意のフォルダーにダウンロード

     RGui を起動
  -> R Console のメニュー「パッケージ」
  -> 「ローカルにある zip ファイルからのパッケージのインストール...」
  -> ファイル選択画面でダウンロードしたフォルダーとファイル名 catdap_1.3.4.zip をクリックし[開く]

     同様に
  -> ファイル選択画面でダウンロードしたフォルダーとファイル名 RcmdrPlugin.catdap_1.1.0.zip をクリックし[開く]

2.1.3 RcmdrPlugin.catdap のロード

     RGui を起動
  -> R Console のメニュー「パッケージ」
  ->「パッケージの読み込み...」
  -> パッケージ選択画面で RcmdrPlugin.catdap をクリックして「OK」

ロード後,Rコマンダーのウィンドーメニューに catdap が表示されます.
サブメニューは以下のようになっています.

カテゴリカルデータ解析...  
メタ情報...▶ 新しいデータセット...  
▶ データセットのロード...

2.2 Linux の場合

2.2.1 Rcmdr のインストール

    ターミナルから R を起動
     $ sudo R
     > install.packages("Rcmdr", dependencies=TRUE)

2.2.2 catdap と RcmdrPlugin.catdap のインストール

(注) インストールは catdap, RcmdrPlugin.catdap の順に行ってください.

catdap_1.3.4.tar.gzRcmdrPlugin.catdap_1.1.0.tar.gz を任意のフォルダーにダウンロード

    ターミナルからダウンロードしたフォルダーで R を起動
     $ sudo R
     > install.packages("catdap_1.3.4.tar.gz", repos=NULL, type="source")
     > install.packages("RcmdrPlugin.catdap_1.1.0.tar.gz", repos=NULL, type="source")

2.2.3 RcmdrPlugin.catdap のロード

    ターミナルから R を起動
     $ R
     > library(RcmdrPlugin.catdap)

ロード後,Rコマンダーのウィンドーメニューに catdap が表示されます.
サブメニューは以下のようになっています.

カテゴリカルデータ解析...  
メタ情報...▶ 新しいデータセット...  
▶ データセットのロード...

3. 解析

3.1 データセットの読み込み

データの操作はRコマンダーのメニュー「データ」から行いますが,ここでは解析したいデータが既にcsvファイルとしてある場合と パッケージ内のデータセットの場合についてのみ説明します.

・csvファイル(カンマ区切り)の読み込み

  メニュー「データ」
  ->「データのインポート」
  ->「テキストファイルまたはクリックボード,URLから...」
   
   * 一行目が変数名の場合 * 変数名がない場合
  ->ファイル内に変数名あり をチェック->ファイル内に変数名あり のチェックをはずす
   
  ->フィールドの区切り記号は ◎ カンマ[,] を指定して [OK]
  ->ファイルの選択画面で既存のcsvファイルを指定し [開く]

   変数名がないcsvファイルを読み込んだ場合,データセットの変数名は自動的に V1, V2, V3, ... となります.


・パッケージ内データセットの読み込み

  メニュー「データ」
  ->「パッケージ内のデータ」
  ->「アタッチされたパッケージからデータセットを読み込む...」
  -> パッケージを選択後 データセットを選択して [OK]


3.2 メタ情報データセット

次に読み込んだデータセットのメタ情報データセットを作成します.
ここでのメタ情報とは各変数に対する観測精度 (accuracy) と プール形式 (pooling) であり,連続変数を離散化するための情報です.

観測精度とは連続変数を離散化するための最小限の幅を示す値であり,データに応じて '1', '0.1', '0.01' などの値を変数毎に指定します.ただし,カテゴリカル変数に対しては '0' を指定します.

プール形式は連続変数に対してのみ有効な値であり,0'または'1' の整数で指定します.

0 :等間隔プーリング (top-down形式)
1 : 不等間隔プーリング (bottom-up形式)

等間隔プーリングは,一定巾の区間に区切って離散化します.ただし,両端の区間は一定巾より短くなる場合があります.
不等間隔プーリングは,短い一定巾の区間に区切った後必要に応じて(AICの値でより最適と判断された場合)隣合う区間を合併するものです. いずれの場合も,m区間の境界値を b1, b2, ..., bm+1 とした時の i 番目のカテゴリの値の範囲 ri (1 ≤ i ≤ m) は
       ri = [bi, bi+1)    (1 ≤ i < m)
       rm = [bm, bm+1]
となります.

解析したいデータファイルを読み込んだあと,Rコマンダーの データセット: 欄に解析したいデータセット名がアクティブデータセットとして表示されていることを確認し以下のように作成します.

     メニュー「catdap」
  ->「メタ情報...」
  ->「新しいデータセット...」
  ->「メタデータセットの作成」ウィンドーが開くので
        データセット名: (デフォルトで <データセット名>.meta)を確認 または 必要なら変更して [OK]
		
  ->「データエディタ : 」ウィンドーが開くので
        データに合った accuracy と pooling に値を設定して [OK]
       「メタデータセットを保存しますか?」 というダイアログが開くので必要に応じて保存

メタデータセットを保存した場合は,次回の RcmdrPlugin.catdap をロード後

     メニュー「catdap」
  ->「メタ情報...」
  ->「データセットのロード...」

を選択して利用できます.


3.3 解析の実行

R コマンダーの データセット: の欄に解析したいデータセット名がアクティブデータセットとして表示されていることを確認し,

     メニュー「catdap」
  ->「カテゴリカルデータ解析...」

をクリックして解析に進みます.

(1) データタブ

解析に必要な基本的情報を入力するために使用します.

・目的変数を選択

 着目したい変数を目的変数として変数リストから選択します.

・メタデータセット名 :

 デフォルトで <データセット名>.meta が表示されます.必要に応じて変更して下さい.

(2) オプションタブ

データに欠測値がある場合,変数の数が非常に多い場合,出力を制御したい場合に使用します.通常はすべてデフォルトのままで実行できます.

・欠測値の処理

□ 欠測値処理      欠測値マーク :

 欠測値がある場合には,□にチェックを入れ欠測値マークに正の値を指定してください. 例えば "1000" を指定した場合,値 x のデータは 1000 ≤ x < 2000 ならばタイプ1の欠測値, 2000 ≤ x < 3000 ならばタイプ2の欠測値というように 1000k ≤ x < 1000(k+1) ならば k番目のタイプの欠測値として扱われます.


・分割表の視覚化

○ モザイクプロット: 水平・垂直交互に分割
◎ モザイクプロット(分割は水平方向のみ): (デフォルト)
○ なし

・AICリストのプリント出力レベル

◎ すべて出力: (デフォルト)
○ 一部省略

 AICリスト(昇順)はデフォルトで,

  << List of single explanatory variables (arranged in ascending order of AIC) >>
  << AIC's of the models with k explanatory variables (k=1,2,...) >>
  << Summary of subsets of explanatory variables >>

 の3種が出力されます.一部省略 を指定すると2番目のリストは出力せず3番目の Summary のリストも上位30位のみが出力されます.


・作業領域制御パラメータ

多重クロス表作成のための説明変数の候補数: デフォルト (変数の数)-1
pa1: デフォルト 1
pa2: デフォルト 4
pa3: デフォルト 10

 変数の数が非常に多い場合,作業領域の制御が必要になる場合があります.
多重クロス表作成のための説明変数の候補数 では,説明変数一つの場合のAICリストのうち上位何位までを候補とみなすかを指定します.
パラメータ pa1, pa2, pa3 は,作業領域不足のためエラーメッセージが出力された場合にそのメッセージにしたがって変更してください.
多重クロス表作成のための説明変数の候補数の値を小さくすれば作業領域不足が解消される場合もありますが,最適モデルが得られないこともあります. 解析したいデータに応じて候補数の値を小さくするかパラメータ pa1,pa2,pa3 の値を大きくするか選択してください.オプションタブの設定例は,実行例4.3 にあります.


 [OK] をクリックすると解析が実行されますが,目的変数に連続型変数を選択した場合のみ 目的変数の区間の数 を指定するダイアログが表示されます.連続型目的変数はメタ情報のプーリングの形式にかかわらず等間隔で離散化され,区間の数(いくつのカテゴリーに分けるか)を指定する必要があります.指定後,再び [OK] をクリックします.


4 実行例

4.1 Rパッケージ catdap 内データセット HealthData の解析 (8変数,レコード長52)

     メニュー「データ」
  ->「パッケージ内のデータ」
  ->「アタッチされたパッケージからデータセットを読み込む...」
  -> パッケージ catdap の データセット HealthData を選択して [OK]

この結果,データセット: の欄は HealthData となり [データセットを表示]をクリックすると以下のようなデータが表示されます.

Healthデータ

     メニュー「catdap」
  ->「メタ情報...」
  ->「新しいデータセット...」
  ->「メタデータセットの作成」ウィンドーが開くので
        データセット名: HealthData.meta (デフォルト) を確認 または 必要なら変更して [OK]

「データエディタ : HealthData.meta」ウィンドーが開くのでデータに合わせ以下のように設定します.

HealthData.meta

[OK]をクリックすると「メタデータセットを保存しますか?」というダイアログが開くので必要に応じて保存して下さい.

データセット: HealthData.meta となっているところをクリックして, HealthData をアクティブにします.

     メニュー「catdap」
  ->「カテゴリカルデータ解析...」

を選択して解析を進めます.目的変数に symptoms を選択した以外はデフォルトのままです.


Healthデータタブ Healthオプションタブ
 出力 (途中省略)

> HealthData.meta
          opthalmo. ecg symptoms age max.press min.press aortic.wav cholesterol
 accuracy         0   0        0   1         1         1        0.1           0
 pooling          0   0        0   0         0         0        0.0           0
> acc <- c(0,0,0,1,1,1,0.1,0)
> pooling <- c(2,2,2,0,0,0,0,2)
> catdap::catdap2(HealthData, pool=pooling, response.name="symptoms", accuracy=acc, nvar=8, 
+   pa1=1, pa2=4, pa3=10, print.level=0, plot=1)
          :

 << Summary of subsets of explanatory variables >>
 Response variable : symptoms
 ----------------------------------------------------------------
                      Number of
      Explanatory     Categories                Difference
      variables       of exp. var.    A I C     of AIC     Weight
 ----------------------------------------------------------------
  1    max.press          4           -11.19      0.00      1.00
       aortic.wav
  2    aortic.wav         4           -10.90      0.29      0.87
       min.press
  3    max.press          8            -8.96      2.23      0.33
       aortic.wav
       min.press
  4    max.press          4            -8.76      2.43      0.30
       cholesterol
  5    max.press          8            -7.29      3.90      0.14
       aortic.wav
       cholesterol
  6    max.press          2            -7.10      4.09      0.13
  7    aortic.wav         2            -6.25      4.95      0.08
  8    max.press          8            -6.11      5.09      0.08
       aortic.wav
       ecg
  9    max.press          4            -6.06      5.13      0.08
       ecg
 10    min.press          2            -4.46      6.73      0.03
          :
 << Contingency table constructed by the best subset of explanatory variables >>

 X(1) : symptoms
 X(2) : max.press
 X(3) : aortic.wav

  X   X           response variable X(1)
 (2) (3)              1                 2               Total
 -----------------------------------------------------------------
  1   1        4 (  22.2 )      14 (  77.8 )      18 ( 100.0 )
  1   2       10 (  62.5 )       6 (  37.5 )      16 ( 100.0 )
  2   1        6 (  66.7 )       3 (  33.3 )       9 ( 100.0 )
  2   2        9 ( 100.0 )       0 (   0.0 )       9 ( 100.0 )
 -----------------------------------------------------------------
  Total       29 (  55.8 )      23 (  44.2 )      52 ( 100.0 )

 <Note>
 X(1) : symptoms
    category        variable value
           1        A
           2        B
 X(2) : max.press
    category        value range
           1         9.80000e+01   -    1.65500e+02
           2         1.65500e+02   -    2.16000e+02
 X(3) : aortic.wav
    category        value range
           1         6.30000e+00   -    8.25000e+00
           2         8.25000e+00   -    1.02000e+01

 AIC =   -11.19
 base AIC =    73.39

HealthData-plot1HealthData-plot2

* 補足
Rスクリプトや出力には,カテゴリカル変数に対して pooling=2 が設定されます.RcmdrPlugin.catdap では accuracy=0 を優先し自動的に設定されるので,ユーザーは特に設定する必要はありません.


4.2 Rパッケージ datasets内のデータセット iris の解析

     メニュー「データ」
  ->「パッケージ内のデータ」
  ->「アタッチされたパッケージからデータセットを読み込む...」
  -> パッケージ datasets の データセット iris を選択して [OK]

この結果,データセット: の欄は iris となり [データセットを表示]をクリックすると以下のようなデータが表示されます.

irisデータ

4.1 の場合と同様にメタデータセット iris.meta を作成したとします.

iris.meta

データセット: iris.meta となっているところをクリックして, iris をアクティブにします.

     メニュー「catdap」
  ->「カテゴリカルデータ解析...」

を選択した場合の設定例と実行結果を以下に示します.目的変数に Petal.Width 選択した以外はデフォルトのままです.

irisデータタブ irisオプションタブ

[OK]をクリックすると Petal.Width は連続型変数なので区間の数を指定するためのダイアログが開きます.区間の数を入力して再び[OK]をクリックしてください.

iris区間の数指定
 出力 (途中省略)

> iris.meta
          Sepal.Length Sepal.Width Petal.Length Petal.Width Species
 accuracy          0.1         0.1          0.1         0.1       0
 pooling           0.0         0.0          0.0         0.0       0
> acc <- c(0.1,0.1,0.1,0.1,0)
> pooling <- c(0,0,0,-7,2)
> catdap::catdap2(iris, pool=pooling, response.name="Petal.Width", accuracy=acc, nvar=5, 
 +   pa1=1, pa2=4, pa3=10, print.level=0, plot=1)
           :

 << Summary of subsets of explanatory variables >>
 Response variable : Petal.Width
 ----------------------------------------------------------------
                      Number of
      Explanatory     Categories                Difference
      variables       of exp. var.    A I C     of AIC     Weight
 ----------------------------------------------------------------
  1    Petal.Length       3          -223.94      0.00     1.00
  2    Species            3          -223.83      0.11     0.95
  3    Petal.Length       9          -207.70     16.24     0.00
       Species
  4    Petal.Length       6          -197.91     26.03     0.00
       Sepal.Length
  5    Petal.Length       6          -192.38     31.56     0.00
       Sepal.Width
  6    Species            6          -188.88     35.06     0.00
       Sepal.Length
  7    Petal.Length      18          -169.70     54.24     0.00
       Species
       Sepal.Length
  8    Petal.Length      18          -151.05     72.89     0.00
       Species
       Sepal.Width
  9    Sepal.Length       2           -108.70   115.24     0.00
 10    Sepal.Width        2            -57.93   166.01     0.00
 11       - - -           0              0.00   223.94     0.00

 << Contingency table constructed by the best subset of explanatory variables >>

 X(1) : Petal.Width
 X(2) : Petal.Length

  X          response variable X(1)
 (2)             1               2                3               4               5               6               7          Total
--------------------------------------------------------------------------------------------------------------------------------------
  1      48 (  96.0 )      2 (   4.0 )     0 (   0.0 )     0 (   0.0 )     0 (   0.0 )     0 (   0.0 )     0 (   0.0 )    50 ( 100.0 )
  2       0 (   0.0 )      0 (   0.0 )    10 (  20.4 )    25 (  51.0 )    14 (  28.6 )     0 (   0.0 )     0 (   0.0 )    49 ( 100.0 )
  3       0 (   0.0 )      0 (   0.0 )     0 (   0.0 )     1 (   2.0 )    16 (  31.4 )    17 (  33.3 )    17 (  33.3 )    51 ( 100.0 )
--------------------------------------------------------------------------------------------------------------------------------------
 Total   48 (  32.0 )      2 (   1.3 )    10 (   6.7 )    26 (  17.3 )    30 (  20.0 )    17 (  11.3 )    17 (  11.3 )   150 ( 100.0 )

 <Note>
 X(1) : Petal.Width
    category        value range
           1         1.00000e-01  -   4.42857e-01
           2         4.42857e-01  -   7.85714e-01
           3         7.85714e-01  -   1.12857e+00
           4         1.12857e+00  -   1.47143e+00
           5         1.47143e+00  -   1.81429e+00
           6         1.81429e+00  -   2.15714e+00
           7         2.15714e+00  -   2.50000e+00
 X(2) : Petal.Length
    category        value range
           1         1.00000e+00   -    2.05000e+00
           2         2.05000e+00   -    4.85000e+00
           3         4.85000e+00   -    6.90000e+00

 AIC =  -223.94
 base AIC =   207.45


irisモザイクプロット1irisモザイクプロット2

4.3 Rパッケージ catdap 内データセット HelloGoodbye の解析 (56変数,レコード長13954)

     メニュー「データ」
  ->「パッケージ内のデータ」
  ->「アタッチされたパッケージからデータセットを読み込む...」
  -> パッケージ catdap の データセット HelloGoodbye を選択して [OK]

この結果,データセット: の欄は HelloGoodbye となり [データセットを表示]をクリックすると以下のようなデータが表示されます.

HelloGoodbyeデータ

4.1 の場合と同様にメタデータセット HelloGoodbye.meta を作成したとします.

HelloGoodbye.meta

データセット: HelloGoodbye.meta となっているところをクリックして, HelloGoodbye をアクティブにします.

     メニュー「catdap」
  ->「カテゴリカルデータ解析...」

を選択後,目的変数に Isay を選択して解析を進めます.

このデータは変数の数が多くレコード長も長いバイナリデータなので,オプションタブのデフォルト値の変更した方がよい場合があります.
実行時間が長くなったり作業領域が不足してエラーメッセージが出力されたりする場合もありますので, 多重クロス表作成のための説明変数の候補数 の値はデフォルトより小さくした方がよいです.この例では最大で10変数の組合せまで考えることとし

     分割表の視覚化   ◎ なし
     AICリストのプリント出力レベル   ◎ 一部省略
     多重クロス表作成のための説明変数の候補数:   9

としました.

Helloデータタブ Helloオプションタブ

この設定で解析を実行すると,出力欄に

    Error : Working area for contingency table is too short, try pa1= 12.

というエラーメッセージが出力されます. メッセージにしたがって pa1:12 に変更し再実行すると解析が終了します.

 出力 (途中省略)

> HelloGoodbye.meta
          Isay You1say You2say You3say You4say You5say You6say You7say You8say You9say You10say You11say
 accuracy    0       0       0       0       0       0       0       0       0       0        0        0
 pooling     0       0       0       0       0       0       0       0       0       0        0        0
                       :
> acc <- c(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+   0,0,0,0,0,0,0,0,0)

> pooling <- c(2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+   2,2,2,2,2,2,2,2,2,2,2)

> catdap::catdap2(HelloGoodbye, pool=pooling, response.name="Isay", accuracy=acc, nvar=10, 
+   pa1=12, pa2=4, pa3=10, print.level=1, plot=0)

 << List of single explanatory variables (arranged in ascending order of AIC) >>
 Response variable : Isay 	(base AIC =  1934.54)
 ----------------------------------------------------------------
                      Number of
      Explanatory     Categories                Difference
      variables       of exp. var.    A I C     of AIC     Weight
 ----------------------------------------------------------------
  1    You14say           2           -37.80      0.00     1.00
  2    You26say           2           -24.91     12.88     0.00
  3    You49say           2           -20.37     17.42     0.00
  4    You27say           2            -9.63     28.16     0.00
  5    You4say            2            -9.52     28.28     0.00
  6    You40say           2            -4.85     32.95     0.00
  7    You23say           2            -0.80     37.00     0.00
  8    You10say           2            -0.66     37.13     0.00
  9    You39say           2            -0.58     37.21     0.00
 10    You19say           2            -0.52     37.28     0.00
          :

 << Summary of subsets of explanatory variables >>
  Response variable : Isay
 ----------------------------------------------------------------
                      Number of
      Explanatory     Categories                Difference
      variables       of exp. var.    A I C     of AIC     Weight
 ----------------------------------------------------------------
  1    You14say           2           -37.80      0.00     1.00
  1    You14say         512           -99.62      0.00     1.00
       You49say
       You26say
       You4say
       You27say
       You40say
       You23say
       You10say
       You39say
  2    You14say         256           -98.87      0.75     0.69
       You49say
       You26say
       You4say
       You27say
       You40say
       You23say
       You10say
  3    You14say         256           -98.83      0.79     0.67
       You49say
       You26say
       You4say
       You27say
       You40say
       You23say
       You39say
          :

 << Contingency table constructed by the best subset of explanatory variables >>

 X(1) : Isay
 X(2) : You14say
 X(3) : You49say
 X(4) : You26say
 X(5) : You4say
 X(6) : You27say
 X(7) : You40say
 X(8) : You23say
 X(9) : You10say
 X(10) : You39say

  X   X   X   X   X   X   X   X   X  		 response variable X(1)
 (2) (3) (4) (5) (6) (7) (8) (9) (10)              1                   2           Total
 ------------------------------------------------------------------------------------------
  1   1   1   1   1   1   1   1   1     7473 (  98.8 )      93 (   1.2 )    7566 ( 100.0 )
  1   1   1   1   1   1   1   1   2      120 (  96.8 )       4 (   3.2 )     124 ( 100.0 )
  1   1   1   1   1   1   1   2   1       36 (  94.7 )       2 (   5.3 )      38 ( 100.0 )
  1   1   1   1   1   1   1   2   2        0 (   0.0 )       0 (   0.0 )       0 (   0.0 )
  1   1   1   1   1   1   2   1   1      497 (  99.6 )       2 (   0.4 )     499 ( 100.0 )
  1   1   1   1   1   1   2   1   2        0 (   0.0 )       0 (   0.0 )       0 (   0.0 )
  1   1   1   1   1   1   2   2   1        0 (   0.0 )       0 (   0.0 )       0 (   0.0 )
  1   1   1   1   1   1   2   2   2        0 (   0.0 )       0 (   0.0 )       0 (   0.0 )
  1   1   1   1   1   2   1   1   1       10 (  83.3 )       2 (  16.7 )      12 ( 100.0 )
  1   1   1   1   1   2   1   1   2        0 (   0.0 )       0 (   0.0 )       0 (   0.0 )
                                           :
 ------------------------------------------------------------------------------------------
   Total                               13773 (  98.7 )     181 (   1.3 )   13954 ( 100.0 )

 <Note>
 X(1) : Isay
 	category    	variable value
 	       1    	0
 	       2    	1
 X(2) : You14say
 	category    	variable value
 	       1    	0
 	       2    	1
 X(3) : You49say
 	category    	variable value
 	       1    	0
 	       2    	1
                    :

 AIC =   -99.62
 base AIC =   1934.54


4.4 Rパッケージ catdap 内データセット MissingHealthData の解析 (8変数,レコード長52,欠測値あり)

     メニュー「データ」
  ->「パッケージ内のデータ」
  ->「アタッチされたパッケージからデータセットを読み込む...」
  -> パッケージ catdap の データセット MissingHealthData を選択して [OK]

この結果,データセット: の欄は MissingHealthData となり [データセットを表示]をクリックすると以下のようなデータが表示されます.
これは 4.1 HealthData の max.press と min.press に欠測値 300 がある場合のデータです.

MissingHealthデータ

4.1 の場合と同様にメタデータセット MissingHealthData.meta を作成したとします.

MissingHealthData.meta

データセット: MissingHealthData.meta となっているところをクリックして, MissingHealthData をアクティブにします.

     メニュー「catdap」
  ->「カテゴリカルデータ解析...」

を選択して解析を進めます.
目的変数に symptoms を選択,欠測値処理を チェックして欠測値マークに '300' を入力し,それ以外はデフォルトのままとします.


MissingHealthデータタブ MissingHealthオプションタブ
 出力 (途中省略)

> MissingHealthData.meta
          opthalmo. ecg symptoms age max.press min.press aortic.wav cholesterol
 accuracy         0   0        0   1         1         1        0.1           0
 pooling          0   0        0   0         0         0        0.0           0
> acc <- c(0,0,0,1,1,1,0.1,0)
> pooling <- c(2,2,2,0,0,0,0,2)
> catdap::catdap2(MissingHealthData, pool=pooling, response.name="symptoms", accuracy=acc, nvar=8, 
+   missingmark=300, pa1=1, pa2=4, pa3=10, print.level=0, plot=1)
          :

 << Summary of subsets of explanatory variables >>
 Response variable : symptoms
 ----------------------------------------------------------------
      Number of
      Explanatory     Categories                Difference
      variables       of exp. var.    A I C     of AIC     Weight
 ----------------------------------------------------------------
  1    aortic.wav         6           -10.58      0.00      1.00
       min.press
  2    max.press          6           -10.23      0.35      0.84
       aortic.wav
  3    max.press          3            -9.54      1.04      0.59
  4    max.press          6            -9.18      1.40      0.50
       cholesterol
  5    max.press         18            -8.51      2.08      0.35
       aortic.wav
       min.press
  6    max.press          9            -7.75      2.83      0.24
       min.press
  7    min.press          3            -6.49      4.09      0.13
  8    aortic.wav         2            -6.25      4.34      0.11
  9    max.press          6            -5.68      4.90      0.09
       ecg
 10    aortic.wav        12            -5.20      5.38      0.07
       min.press
       cholesterol
          :

 << Contingency table constructed by the best subset of explanatory variables >>

 X(1) : symptoms
 X(2) : aortic.wav
 X(3) : min.press

  X   X           response variable X(1)
 (2) (3)              1                 2               Total
 -----------------------------------------------------------------
   1   1        1 (   8.3 )      11 (  91.7 )      12 ( 100.0 )
   1   2        7 (  53.8 )       6 (  46.2 )      13 ( 100.0 )
   1   3        2 ( 100.0 )       0 (   0.0 )       2 ( 100.0 )
   2   1        7 (  58.3 )       5 (  41.7 )      12 ( 100.0 )
   2   2        9 (  90.0 )       1 (  10.0 )      10 ( 100.0 )
   2   3        3 ( 100.0 )       0 (   0.0 )       3 ( 100.0 )
 -----------------------------------------------------------------
   Total       29 (  55.8 )      23 (  44.2 )      52 ( 100.0 )

 <Note>
 X(1) : symptoms
    category        variable value
           1        A
           2        B
 X(2) : aortic.wav
    category        value range
           1         6.30000e+00   -    8.25000e+00
           2         8.25000e+00   -    1.02000e+01
 X(3) : min.press
    category        value range
           1         5.60000e+01   -    9.35000e+01
           2         9.35000e+01   -    1.20000e+02
           3         missing of type 1

 AIC =   -10.58
 base AIC =    73.39

MissingHealth-plot1MissingHealth-plot2

5. 参考文献

(1) Y.Sakamoto and H.Akaike (1978). Analysis of Cross-Classified Data by AIC. Ann. Inst. Statist. Math., 30, pp.185-197.
(2) K.Katsura and Y.Sakamoto (1980). A Categorical Data Analysis Program Package, Computer Science Monographs, No.14. The Institute of Statistical Mathematics, Tokyo.
(3) Y.Sakamoto (1985). Categorical Data Analysis by AIC, Kluwer Academic publishers.
(4) (株)NTTデータ数理システム (2015). 情報量統計学的データ可視化ツール. http://hdl.handle.net/10787/3614
(5) 石黒 真木夫 (2016). CATDAP マニュアル. http://hdl.handle.net/10787/3821
(6) 石黒 真木夫 (2016). 統計モデル可視化. http://hdl.handle.net/10787/3823



本パッケージに関するご質問やバグ報告等がありましたら ismrp(at)jasp.ism.ac.jp 宛お寄せ下さい.