統計ブログはじめました!

各専門分野の統計技術、方法、テクニックなどを気ままに分かり易く例題をもとに解説します。

統計のコツのこつ(42)

2017-04-30 18:54:25 | 日記・エッセイ・コラム
「すぐに役立つ統計のコツ」(第5章、40ページ)はカテゴリカルデータ(計数データ)・・・、名義尺度データについて紹介しています。
そして、
量的データをカテゴリカルデータに変換(ダミー変数 0,1を付与)し、分割表形式の統計的方法や検定方法について説明しています。
ここでは、
データ解析環境「R」での操作についてご紹介します。
まず、
例題として、下記URL(情報統計研究所)にアクセスして下さい。
 http://kstat.sakura.ne.jp
 
TOP ページから、[Excel Sample]をクリック、[Excel Sample(1):表22~表5.19]をダウンロードし、Sheet名「表5.3」を開くと、本書(表5.3、42ページ)のデータを得ることが出来ます。
 
このデータを用いて「R」での操作をやってみましょう!
 
「R」を立ち上げ、
・「R Console」 の画面に、
      dat<- read.delim("clipboard", header=T)
 
と記載し、実行せずにおいて下さい。そして、
  
・「Excel_Sample(1).xlsx」(Sheet名「表5.3」)の「J列2行:O列102行」を選択しコピーします。
 
そして、
・「R Console」 の画面の、
  dat<- read.delim("clipboard", header=T)
 
を実行しすれば、データを取り込む事が出来ます。
確認は次により行えば良いでしょう。
 
head(dat) # データの確認
 
そして、
 
・「R」→ファイル→新しいスクリプト
・新しいスクリプトの「無題・Rエディタ」に以下のプログラムを書き実行します。
・関数「table()、ftable()、xtabs()」を使って見ましょう。
 
***
attach(dat)
C.table1<- table(Gender, TC) # table()による2×2分割表
C.table1
C.ftable1<- ftable(Gender, TC) # ftable()による2×2分割表
C.ftable1
C.xtable1<- xtabs(~ Gender + TC) # xtabs()による2×2分割表
C.xtable1
 
round(prop.table(C.table1), 3)    # 全体の合計に対する比率
round(prop.table(C.table1, 1), 3) # 行の 合計に対する比率
round(prop.table(C.table1, 2), 3) # 列の  合計に対する比率
 
# 「ftable1」と「xtabs」も同じで、全体に対する比率は次のようにします。
 
round(prop.table(C.ftable1), 3)   
round(prop.table(C.xtable1), 3)
 
出力結果:
次のような2×2分割表が出力されます。
            TC 
Gender  0      1
   0       32    11
   1       54      3
***
 
この出力結果を選択・コピーし、MS-Excel にテキスト・ペーストして整形すれば図1の様な分割表を作ることが出来ます。
 
図1 GenderとTC の分割表
 
 
なお、カイ二乗計算は次により行えば良いでしょう。
 
***
chisq.test(C.table1, correct = T)   # 補正あり(既定値)
chisq.test(C.table1, correct = F)   # 補正なし
chisq.test(C.table1, simulate.p.value = T、B = 2000)
      # モンテカルロ・シュミレーションの計算と試行回数
 
fisher.test(C.table1)       # フイッシャーの直接確率計算
***
 
長くなりますので、今回はここまでとします。
次回は「R」でピボットテーブルをご紹介したいと思います。
なお、
本書の表5.16(49ページ)のデータは加工したもので、「Excel_Sample(1).xlsx」とは一致しません。
 
情報統計研究所はここから!