[連載]フリーソフトによるデータ解析・マイニング第38回

Rコマンダー: Rcmdr (1)

1. Rコマンダーとは

 データ解析の商業ソフト(SAS、旧SPSS、S-PLUSなど)は、使用しやすくするためGUI(Graphical User Interface)に多くの工夫が施されている。Rは商業ソフトに比べGUIが貧弱で、コマンドライン(CUI:Character User Interface)を用いるのが普通である。コマンドラインによるデータ解析は、GUIに慣れた方にとっては馴染みやすいものではない。Rコマンダー(R Commander)は、Rの基本的な統計関数を使いやすくするためのGUIパッケージ(Rcmdr)である。パッケージRcmdrは、McMaster UniversityのJohn Foxが作成・公開し、関西大学の荒木孝治氏により日本語化された。RcmdrはCRANミラーサイト、あるいはJohn Fox、荒木孝治氏のHPからダウンロードすることができる。
  http://socserv.socsci.mcmaster.ca/jfox/Misc/Rcmdr/
  http://www.ec.kansai-u.ac.jp/user/arakit/R.html

2.Rコマンダーの起動と終了

 CRANミラーサイトからインストールを行うと、必要とするパッケージが自動的にインストールされる。

(1)Rコマンダーの起動

パッケージRcmdrをインストールし、コンソール上でコマンドlibrary(Rcmdr)を実行するとRコマンダーが起動し、図1のように必要となるパッケージのインストールを求めるウィンドウが開かれる。ボタン[はい(Y)]を押すと図2のようにパッケージが置かれている場所を指定するダイアログボックスが開かれる。

図1 必要となるパッケージ

図1 必要となるパッケージ

 通常はインターネットが接続された環境の場合は[OK]ボタンを押すと必要となるパッケージが自動的にインストールされる。

図2 パッケージが置かれた場所を指定するダイアログボックス

図2 パッケージが置かれた場所を指定するダイアログボックス


図3 Rコマンダーの起動画面

図3 Rコマンダーの起動画面

 Rコマンダーのウィンドウは、メニュー、データセットの操作に関するアイコン、スクリプトウィンドウ、結果の出力ウィンドウ、メッセージのウィンドウより構成されている。
 Rコマンダーは、メニューとダイアログボックス (dialog box,以後略してDBoxと呼ぶことにする)の操作でデータ解析・処理を行う。

(2)Rコマンダーの終了

 Rコマンダーの終了には2つの方法がある。

Rコマンダーのみを終了
 メニュー「ファイル」⇒「終了」⇒「Rコマンダー」を実行すると確認DBoxが返される。終了したいときには[OK]ボタンを、そうではない場合は[キャンセル]ボタンを押す。1回Rコマンダーを終了し、再起動する場合には、次のコマンドを実行する。

>Commander()

RコマンダーとRを同時に終了
 「ファイル」⇒「終了」⇒「RコマンダーとRー」を実行する。

3.Rコマンダーの基本機能

 Rコマンダーは、その機能を9つ項目に分けてメニューを設けている。メニューごとの項目リストを表1に示す。より詳細な日本語によるメニューツリーは、荒木氏のHPに公開されている。
  http://www.ec.kansai-u.ac.jp/user/arakit/Rcmdr_menu_tree.txt
 誌面上の制約により、すべての機能について詳しく説明することは不可能である。本稿では、使用例を示しながら主な機能と使用法を簡潔に説明する。

表1 Rコマンダーの基本機能
機能の項目
ファイル 作業ディレクトリの変更、スクリプトファイルを開く・保存、出力結果の保存、ワークプレースの保存、Rコマンダーの終了
編集 切り取り、コピー、貼り付け、削除、検索、すべてを選択、取り消し、やり直し、ウィンドウをクリア
データ 新しいデータセットの作成、データのインポート、パッケージ内のデータセット、アクティブデータセット内の変数管理
統計量 要約、分割表、平均、比率、分散、ノンパラメトリック検定、次元解析、モデルへの適合
グラフ 色パレッド、インデックスプロット、ヒストグラム、幹葉図、箱ひげ図、QQプロット、散布図、散布図行列、折れ線グラフ、平均のプロット、棒グラフ、円グラフ、3Dグラフ、グラフをファイルで保存
モデル アクティブモデルの選択、モデルの要約、計算結果の保存、信頼区間、仮説検定、数値による診断、モデル関連のグラフ
分布 連続型と離散型に分けて正規分布、t分布、カイ2乗分布、F分布、2項分布、ポアソン分布など
ツール パッケージロード、オプション
ヘルプ 日本語による「Rコマンダー入門」がある

4. データの操作

 Rコマンダーでは、新しいデータセットの作成、データのインポート、パッケージ内のデータセットの読み込み、アクティブデータセット内の変数管理などを行うことが可能である。

(1)新しいデータセットの作成

 新しいデータセットの作成は、サイズが比較的に小さいデータセットの作成に適している。Rコマンダーのメニュー「データ」⇒「新しいデータセット」をクリックするとデータ名前を指定する「新しいデータセット」DBoxが開かれる。

図4 新しいデータセットの名の入力画面

図4 新しいデータセットの名の入力画面

 新しいデータセットのDBoxでデータファイルの名前を指定し、[OK]ボタンを押すとデータ作成シートが開かれる。セル値を入力し、メニューの「ファイル」→「閉じる」押すと新しいデータセットが作成される。

図5 データセット作成エディター画面

図5 データセット作成エディター画面

(2)データのインポート

 データのインポートでは、テキストファイル、scv形式のデータ、旧SPSS、Minitab、STATAデータ形式を読み込むことができる。メニュー「データ」の中の「データのインポート」には図6のようなファイルを種類に分けて選択肢が設けられている。テキストファイルやcsv形式などのファイルは「テキストファイルまたは…」から読み込む。

図6 データインポートリスト画面

図6 データインポートリスト画面

 図6のように選択してクリックすると図7のようなファイルの名前やデータ区切りの記号などを指定するダイヤルボックスが開かれる。
 データセット名を入力の右に自由にデータファイルの名前を入力する。半角のローマ字を用いることを勧める。保存したデータがcsv形式の場合は「フイールドの区切り記号」の「ガンマ」を選択する。もしデータの区切りがスペースの場合は「空白」を選択する。

図7 テキストファイルのオプション指定画面

図7 テキストファイルのオプション指定画面

 DBoxの必要な項目を図7のように指定し、[OK]ボタンを押すと図8のようなファイルを開く画面が返される。ファイルを選択し、[開く(O)]ボタンを押すとファイルが読み込まれる。

図8 ファイルを開く画面

図8 ファイルを開く画面

 読み込まれているデータの表示は、メニューの下「データセット表示」のアイコンをクリックする。

図9 データセットの表示のボタン位置画面

図9 データセットの表示のボタン位置画面

(3) パッケージ内のデータセット

 「パッケージ内のデータセット」には、パッケージ内のデータセットに関する操作を行うサブメニュー「パッケージ内のデータセットの表示」と「アタッチされたパッケージからデータセットを読み込む」がある。「アタッチされたパッケージ」とはパッケージの読み込み操作をしていないパッケージのことである。

図10 「パッケージ内のデータ」のメニュー画面

図10 「パッケージ内のデータ」のメニュー画面

 「パッケージ内のデータセットの表示」をクリックすると図11のようにパッケージcarの中のデータセットのリストを返す。パッケージcarはRコマンダーを開く際に自動的に読み込まれているのでタッチされていることになる。

図11 パッケージcarの中のデータセットリスト画面

図11 パッケージcarの中のデータセットリスト画面

 「アタッチされたパッケージからデータセットを読み込む」をクリックすると図12に示すDBoxが開かれる。DBoxからパッケージおよびデータファイルを指定して[OK]ボタンを押すとアタッチされたデータファイルが読み込まれる。これらの操作を行うと、Rコマンダー上のデータセットアイコンにデータセットの名前が表示される。[データセットの編集]ボタンを押すと関数fixによるデータシートの画面が返され、[データセットを表示]のボタンを押すとデータセットを表示する画面が返される。図12のように選択して、[OK]ボタンを押すとデータが読み込まれる。

図12 パッケージからデータを読み込む画面

図12 パッケージからデータを読み込む画面

(4)データのアクティブ化

 上記の操作で読み込んだデータセットは自動的にそのデータセットがアクティブ化され、処理対象になる。データセットirisがアクティブ化されている画面を図13に示す。

図13 irisがアクティブ化されている画面

図13 irisがアクティブ化されている画面

 処理したいデータをアクティブ化にしないとそのデータの処理がメニュー操作ではできない。読み込んだデータが複数の場合は、処理対象のデータセットをアクティブ化させなければならない。データセットのアクティブ化の操作は、メニューの下部のデータセットの名前が表示されているアイコンをクリックして指定する方法と、メニューの「データ」⇒「アクティブデータセット」⇒「アクティブデータセットの選択」をクリックして指定する2つの方法がある。
 図13のような環境では、アイコン「iris」を押すと図14のような読み込んだデータセットのリストが返される。その中から一つ選択し、[OK]ボタンを押すと選択されたデータセットがアクティブ化される。

図14 データセットの選択画面

図14 データセットの選択画面

メニューを用いて操作をする場合は、図15のようにメニューの「データ」⇒「アクティブデータセット」の順で操作する。

図15 操作画面

図15 操作画面

表2 「データ」メニューと対応する関数
メニュー 対応する関数
アクティブデータセットのヘルプ help()
アクティブデータセット内の変数 names()
ケース名の設定 row.names()
as.character()
アクティブデータセットの部分集合を抽出 subset()
欠測値のあるケースを削除 na.omit()
アクティブデータセットのエクスポート write.table()

5.統計量

 「統計量」のメニュー画面のコピーを図16に示す。

メニュー「統計量」の画面

図16 メニュー「統計量」の画面

(1)要約

「要約」メニューの画面を図17に示す。

図17 メニュー「要約」の画面

図17 メニュー「要約」の画面

 例として「層別の統計量」の使用手順とその結果を示す。
◇解析対象とするデータセットをアクティブ化する。
◇図17のようにメニューの「統計量」⇒「要約」⇒「層別の統計量」をクリックすると図18のような「統計量の表」というDBoxが開かれる。
◇「統計量の表」のDBoxの設定を行う。層別の要約を行うので、まず層別因子を決める。ここではirisの品種ごとの"Petal. Length"(花弁の長さ)の平均を求めることにする。その設定は図18の通りになる。DBoxを設定し、[OK]ボタンを押すとirisの品種ごとのPetal. Lengthの平均値がRコマンダーの「出力ウィンドウ」に返される。

図18 「統計量の表」のDBox画面

図18 「統計量の表」のDBox画面

 DBox上の[ヘルプ]ボタンを押すと用いる関数のマニュアル画面がR上で開かれる。より詳細な引数を指定したいときには、各DBoxに用いる関数を知っておくことがよいであろう。

(2)分割表

 分割表では、分割表の作成(関数table)や分割表の独立性検定の統計量(関数chisq.test、fisher.test)などを求めることができる。分割表の使用例として、分割表のデータを入力してカイ2乗検定を行う手順を示す。
◇「統計量」⇒「分割表」⇒「2元表の入力と分析」をクリックし、2元表を入力するDBoxを開く。
◇ 2元分割表のサイズの設定はDBox上の「行数」「列数」の平行移動ボタンを左右に移動して行う。分割表の最大サイズは10行10列である。分割表の数値は直接入力する。その画面を図19に示す。
◇ [OK]ボタンを押すと、Rコマンダーの「出力ウィンドウ」に実行結果が返される。「出力ウィンドウ」の画面コピーを図20に示す。

図19 2元表を入力するDBox

図19 2元表を入力するDBox


図20 出力ウィンドウの画面

図20 出力ウィンドウの画面

(3)平均・比率・分散・ノンパラメトリック検定

 メニュー「統計量」の中の「平均」、「比率」、「分散」、「ノンパラメトリック検定」ではそれぞれの仮説検定を行う(表3を参照)。例として、「平均」のメニュー画面を図21に示す。使用例としてデータirisを用いた多元配置分散分析のDBoxの画面を図22に示す。

図21 「平均」のメニュー画面

図21 「平均」のメニュー画面


図22 多元配置分散分析DBox

図22 多元配置分散分析DBox

(4)次元解析

 次元解析では、因子分析、主成分分析、クラスター分析などの解析を行う。
 例えば、「統計量」⇒「次元解析」⇒「主成分分析」をクリックすると図23のような主成分分析を指定するDBoxが開かれる。用いる変数および関連項目を選択し、[OK]ボタンを押すと主成分の結果はRコマンダーの出力ウィンドウに、寄与率の棒グラフが返される。

図23 主成分分析のDBox画面

図23 主成分分析のDBox画面


図24 主成分の数のDBox画面

図24 主成分の数のDBox画面

 DBoxにおける「相関行列の分析」項目の右にチェック記号を入れると相関行列を用いた主成分分析、チェック記号を入れない場合は分散共分散行列を用いた主成分分析を行う。
 主成分の散布図を作成するためにはコマンドの操作が必要である。コマンドをスクリプトウィンドウに記述し、Rコマンダーの右側の[実行]ボタンを押すとグラフがR画面に返される。このような作業はR画面とRコマンダーを入れ替えることになるので若干不便である。Rコンソール上で、Rコマンダー上の操作結果のオブジェクトを用いた方が便利であろう。
 クラスター分析では、k-平均クラスター分析と階層的クラスター分析を行うことが可能である。k-平均クラスター分析では、R画面の主成分のバイプロットにk-平均クラスター分析の結果を返す。

(5)モデルへの適合

 「モデルへの適合」では、線形回帰および線形モデル、一般化線形モデル、多項ロジットモデル、比例オッズロジットモデルの解析を行うことが可能である。線形回帰と線形モデルの違いは、変数間の交互作用をモデルに入れるか否かである。後者では変数間の交互作用を考慮するモデルを作成することができる。
 例として、データセットairqualityを用いて例を示す。まずデータを読み込み、アクティブ化する。データairqualityはパッケージdatasetの中にあるのでメニューの「データ」⇒「パッケージ内のデータセット」⇒「アタッチされたパッケージからデータセットを読み込む」をクリックする。しかし、開かれたDBoxの中のdatasetをクリックしても該当のファイルがリストに現れない場合がある。その際には、DBoxにおける「データセットの名前を入力」の右の窓に直接データセットの名前を入力して、[OK]ボタンを押す。もう一つの方法は「スクリプトウィンドウ」にdata(airquality)を入力し[実行]ボタンを押し、データを読み込み、データをアクティブ化する。

回帰モデル
 メニュー「統計量」⇒「モデルへの適合」⇒「線形回帰モデル」をクリックすると「線形回帰」のDBoxが開かれる。

図25 線形回帰のDBox画面

図25 線形回帰のDBox画面

 図25のように目的変数を1つ、説明変数を1つ以上選択し、[OK]ボタンを押すと結果が「出力ウィンドウ」に出力される。

一般線形回帰モデル
 メニュー「統計量」⇒「モデルへの適合」⇒「一般化線形モデル」をクリックすると「一般化線形モデル」のDBoxが開かれる。データセットairqualityを用いた一般化線形モデルを作成するDBox画面を図2に示す。作成するモデルの式とリンク関数を指定し、[OK]ボタンを押すと結果が出力ウィンドウに返される。
 モデル式の入力は、まずマウスポインターを式の窓に置き、次に入れたい変数や演算記号などをダブルクリックする。

図26 一般化線形モデルのDBox画面

図26 一般化線形モデルのDBox画面


表3 「統計量」メニューと対応する関数
メニュー 対応する関数
要約
アクティブデータセット summary(iris)
数値による要約 mean(),sd(),quantile()
頻度分布 table()
chisq.test()
層別の統計量 tapply()
相関行列 cor()
分割表
2元表 xtabs()
chisq.test()
多元表 xtabs()
2元表の入力と分析 chisq.test()
平均
1標本のt検定 t.test()
独立サンプルのt検定 t.test()
対応のあるt検定 t.test()
1元配置分散分析 anova(lm())
多元配置分散分析 Anova(lm())
比率
1標本比率の検定 prop.test()
2標本比率の検定 prop.test()
分散
分散比のF検定 var.test()
バートレット検定 bartlett.test()
ルビーンの検定 levene.test()
ノンパラメトリック検定  
2標本ウィルコクソン検定 wilcox.test()
対応のあるウィルコクソン検定 wilcox.test()
クラスカルーウォリスの検定 kruskal.test()
次元解析
スケールの信頼性 reliability(cov())
主成分分析 princomp()
因子分析 factanal()
k-平均クラスター分析 KMeans()
biplot(princomp())
階層的クラスター分析 hclust(dist()
モデルへの適合
線形回帰 lm()
線形モデル lm()
一般線形モデル glm()
多項ロジットモデル multinom()
比例オッズロジットモデル polr()