• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
統計解析環境Rによる統計処理の基本―検定と視覚化―
 

統計解析環境Rによる統計処理の基本―検定と視覚化―

on

  • 2,051 views

英語コーパス学会第39回大会ワークショップの1日目で使用した資料です。

英語コーパス学会第39回大会ワークショップの1日目で使用した資料です。

Statistics

Views

Total Views
2,051
Views on SlideShare
1,942
Embed Views
109

Actions

Likes
9
Downloads
25
Comments
0

1 Embed 109

https://twitter.com 109

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    統計解析環境Rによる統計処理の基本―検定と視覚化― 統計解析環境Rによる統計処理の基本―検定と視覚化― Presentation Transcript

    • 2013-10-05 JAECS2013@Tohoku Univ. 統計解析環境 による統計処理の基本―検定と視覚化― 1Sunday, October 6, 13
    • 0. 自己紹介 5Sunday, October 6, 13
    • 7Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 9Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 10Sunday, October 6, 13
    •  とは何か • 統計処理を目的とするプログラミング言語 • 無償+オープンソースのソフトウェア • 作者:Ross Ihaka & Robert Gentleman (R & R) • Ross Ihaka and Robert Gentleman. R: A language for data analysis and graphics. Journal of Computational and Graphical Statistics, 5(3):299-314, 1996. • http://biostat.mc.vanderbilt.edu/twiki/pub/Main/JeffreyHorner/JCGSR.pdf 12Sunday, October 6, 13
    • 要するに 統計ソフト 13Sunday, October 6, 13
    •   の何が良いのか •無償(IBM SPSS Statistics は約10万円で保守なし...) •統計処理の種類が豊富 •作図結果が美しい(簡素) 14Sunday, October 6, 13
    • なぜ今  なのか •学生指導・研究費節約に •コーパス分析の手法の明確化 •視覚化による傾向把握 15Sunday, October 6, 13
    •  の弱点 • 文字入力による操作 • プログラムを組む感覚を養成 • 確実に伝わるという利点も • 多方面の知識が必要 • 英語+統計+計算機 • 参考書籍がお高め... 16Sunday, October 6, 13
    • モウダメダー 17Sunday, October 6, 13
    • Excel や SPSS は... •高価(気軽に使えない) •処理が信頼できず • Excel のひどい話(青木先生@群馬大) •作図結果が美しくない 18Sunday, October 6, 13
    •   の基本操作 ‐Install / Update / Uninstall‐ 20Sunday, October 6, 13
    • 1. http://www.r-project.org/ にアクセス 2.“download R”をクリック 3. JAPAN の中から1つを選ぶ 4. OS に応じたリンクをクリック   のインストール 21Sunday, October 6, 13
    •   のインストール • Windows: : http://cran.md.tsukuba.ac.jp/bin/windows/base/ •「Download R 3.0.2 for Windows」をクリック • Mac OS X:http://cran.md.tsukuba.ac.jp/bin/macosx/ •「R-3.0.2.pkg (latest version)」をクリック 22Sunday, October 6, 13
    • 23Sunday, October 6, 13
    • 24Sunday, October 6, 13
    • 25Sunday, October 6, 13
    • 26Sunday, October 6, 13
    • 27Sunday, October 6, 13
    • 28Sunday, October 6, 13
    •   のアップデート 1. http://www.r-project.org/ にアクセス 2. 自分が使っているバージョンより 新しいものが出ているか確認 3. 新規にインストール用ファイルを ダウンロードしてインストール 29Sunday, October 6, 13
    •   のアップデート • セキュリティ上の問題がない限りは, むやみに更新しない • パッケージ(付加機能)の動作不良回避 • 新旧の共存は可能 • Windows/Mac: 別名でインストール • ただし何がどう共有されているかは不明 • RStudio の導入も吉 30Sunday, October 6, 13
    •  のアンインストール • Windows • [ Windows XP] コンパネ→プログラムの追加と削除 • [ Windows 7/8 ] コンパネ→プログラムのアンインストール • Mac OS X • /Applications にある    アイコンと /Library の中の Frameworks にある R. framework を削除(CleanApp 可) 31Sunday, October 6, 13
    •   の起動 • Windows (8は検索→アプリ) • START → Program → R → R 3.0.2 • Mac OS X • /Applications 内の をクリック 32Sunday, October 6, 13
    • 「コンソール」の表示を確認 33Sunday, October 6, 13
    •   の終了 • コンソールに「q()」と入力 • 今は「作業スペース」は保存しない • ウィンドウが消えれば終了 34Sunday, October 6, 13
    •   で困ったら... •まずは help(sth) を実行 • seekR: http://seekr.jp/ • R SEEK:http://www.rseek.org/ • RjpWiki: http://www.okada.jp.org/RWiki/ • R-Tips:http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html • R による統計処理: http://aoki2.si.gunma-u.ac.jp/R/ 35Sunday, October 6, 13
    •   概論まとめ •    は統計ソフト •無償+何でも統計+美しく作図 •困ったら help(sth) !! 36Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 38Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 39Sunday, October 6, 13
    • 前置きが長くなりましたが どんどん実行しましょう 40Sunday, October 6, 13
    • まずは四則演算など 演算子 意味 + 加算 - 減算 * 乗算 / 除算 ^ 累乗 41Sunday, October 6, 13
    • まずは四則演算など • 式を入力し [Enter] を押す • > 12345 + 56789 [Enter] • > 9753 - 1486 [Enter] • > 3571 * 2984 [Enter] • > 2234/5678 [Enter] • > (12 + 34 -56) * 78 / 90 [Enter] ※“>”は新規入力待機を示す「プロンプト」という 42Sunday, October 6, 13
    • もうちょっと複雑に •次の違いは? •> 100^1/2 •> 100^(1/2) 43Sunday, October 6, 13
    • いまのは 単なる計算式でしたが 44Sunday, October 6, 13
    •  といえば 関数 が命 45Sunday, October 6, 13
    • 関数とは 指定した値に対して 何らかの処理をして 結果を返すもの 46Sunday, October 6, 13
    • 何言ってんの? http://www.flickr.com/photos/fmgbain/4382010455/“I don't know !” by fmgbain 47Sunday, October 6, 13
    • なにはともあれ 実行してみましょう 48Sunday, October 6, 13
    • 関数(Input を処理) Input Output 49Sunday, October 6, 13
    • sqrt():平方根 •> sqrt(2) •> sqrt(144) •> sqrt(104976) 50Sunday, October 6, 13
    • sqrt 関数 2 1.414214 51Sunday, October 6, 13
    • 「関数(値)」が命 • には多数の関数がある •q() や help(sth) も関数 •必要な関数をしつこく実行 52Sunday, October 6, 13
    •   といえば 変数 も命 53Sunday, October 6, 13
    • 変数とは 1つ以上の値を まとめていれておく 「箱」のこと 54Sunday, October 6, 13
    • では ベクトルとも呼ばれ 複数の値を1つに まとめたものを指す 55Sunday, October 6, 13
    • 統計処理などを行うには 複数の値をまとめて扱う ことが必要で それを使い回すために 変数を使う 56Sunday, October 6, 13
    • ちなみに 変数に数値を 入れることを 「代入」といいます 57Sunday, October 6, 13
    • また何言ってんの? http://www.flickr.com/photos/fmgbain/4382010455/“I don't know !” by fmgbain 58Sunday, October 6, 13
    • なにはともあれ 実行してみましょう 59Sunday, October 6, 13
    • 変数の名前は“hako” •> hako <- c(1,2,3,4,5) •> hako • c() 関数:combine (cf. https://twitter.com/#!/sakaue/status/193708048030760960) • 値を1つにまとめる関数 • 逆に書いても(一応)OK 60Sunday, October 6, 13
    • c()関数の“<-”は何? hako <- c(1,2,3,4,5) の“<-”は 左向きの矢印(←) を表現 (入れ替えても動きます) 61Sunday, October 6, 13
    • コンソールで「+」が出たら... • 入力中に誤って[Enter] を押すと, 待機状態を示す「+」が出る • [STOP] ボタンでキャンセル • [Esc] キーでキャンセル 62Sunday, October 6, 13
    • 履歴機能と補完機能 •履歴: [↑][↓] の矢印キー •補完: [Tab]キー 63Sunday, October 6, 13
    • いま“hako”という名前の 「変数」の中に 1から5までの5つの数字が まとめて入っている状態 64Sunday, October 6, 13
    • 代入 変数 1 2 3 4 5 要素 65Sunday, October 6, 13
    • では 使い回してみましょう 66Sunday, October 6, 13
    • 以下の関数を実行 •> sqrt(hako) •> log(hako) 67Sunday, October 6, 13
    • もし変数がなかったら 何度も関数を 繰り返す羽目になる sqrt(1), sqrt(2) ... sqrt(5) log(1), log (2) ... log (5) 68Sunday, October 6, 13
    • 一括処理のために 変数(ベクトル)の 利用は不可欠 69Sunday, October 6, 13
    • では変数を もっと使い回して みましょう 70Sunday, October 6, 13
    • 関数 処理 summary() 基本統計量 table() 度数分布表 sum() 合計値 length() 要素の個数 mean() 平均値 max() / min () 最大 / 最小値 median() 中央値 sd() 標準偏差 71Sunday, October 6, 13
    • ここまでのまとめ •  は「関数」と「変数」が命 •関数を使って数値を処理 •q(), help(), sqrt(), log(), c() •変数を使って一括処理! 72Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 74Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 75Sunday, October 6, 13
    • Sub topics 1. 行列のおはなし 2. データフレーム 3. 外部データの読込 76Sunday, October 6, 13
    • さきほど 一行で表せる数値を 扱いましたが 77Sunday, October 6, 13
    • 実際のデータは 複数行あるはず 78Sunday, October 6, 13
    • 例えば... •身長と体重 •年齢と年収 •覚えた単語数とTOEICスコア 79Sunday, October 6, 13
    • 表にすれば... 身長 体重 A 180 75 B 170 65 C 165 60 D 175 70 E 190 80 80Sunday, October 6, 13
    • 複数の行や列で表される データを扱うために Rでは「行列」を使う 81Sunday, October 6, 13
    • 行列とは 数値が縦横に並べられたもの 82Sunday, October 6, 13
    • 1 2 3 4 5 6 7 8 9 83Sunday, October 6, 13
    • 行 84Sunday, October 6, 13
    • 1 2 3 4 5 6 7 8 9 85Sunday, October 6, 13
    • 1 2 3 4 5 6 7 8 9 86Sunday, October 6, 13
    • 1 2 3 4 5 6 7 8 9 87Sunday, October 6, 13
    • 列 88Sunday, October 6, 13
    • 1 2 3 4 5 6 7 8 9 89Sunday, October 6, 13
    • 1 2 3 4 5 6 7 8 9 90Sunday, October 6, 13
    • 1 2 3 4 5 6 7 8 9 91Sunday, October 6, 13
    • ひとまず 「行列」という存在を 知ってやってください 92Sunday, October 6, 13
    • そんな行列を扱うために matrix() 関数 を使う 93Sunday, October 6, 13
    • matrix() 関数 •行列を作る関数 •matrix(要素, 行の数, 列の数) •デフォでは列方向に配置 94Sunday, October 6, 13
    • このようなデータなら 身長 体重 A 180 75 B 170 65 C 165 60 D 175 70 E 190 80 95Sunday, October 6, 13
    • karada <- matrix(c(180, 170, 165, 175, 190, 75, 65, 60, 70, 80), 5, 2) 行列を作ってみる 1. c() 関数で、数値を連結 2. matrix() 関数で、行列に変換 • 「5行で2列」にするという指定をする 3. karada という名の変数に代入 96Sunday, October 6, 13
    • > karada と入力して 変数の中身を確認 97Sunday, October 6, 13
    • 1 4 7 2 5 8 3 6 9 matrix(1:9,nrow=3,ncol=3) 98Sunday, October 6, 13
    • 1 2 3 4 5 6 7 8 9 matrix(1:9,nrow=3,ncol=3,byrow=TRUE) 99Sunday, October 6, 13
    • 行列の要素を取り出す 1. 行列を作り、変数に代入 2. 変数の中から見たい行や列を指定 100Sunday, October 6, 13
    • 行列の要素を取り出す demo <- matrix(1:30,nrow=5,ncol=6) http://gyazo.com/76c58d5d6c8426a44f160897cda99671.png 101Sunday, October 6, 13
    • 行列の要素を取り出す 2行目を表示 → demo[2,] 2列目を表示 → demo[,2] http://gyazo.com/6726084afd9e1cc4b03df85fe6bc0f29.png 102Sunday, October 6, 13
    • 行列の要素を取り出す 2行目と4行目を表示 → demo[c(2,4),] 2列目と4列目を表示 → demo[, c(2,4)] 103Sunday, October 6, 13
    • 行列の要素を取り出す http://gyazo.com/a116c0e2f1284ea7d38bf7024d92f1cc.png 104Sunday, October 6, 13
    • 行列まとめ • 横方向が行、縦方向が列 • デフォルトでの数値の並びに注意 • 必要な要素を適宜取り出して値を確認 105Sunday, October 6, 13
    • Sub topics 1. 行列のおはなし 2. データフレーム 3. 外部データの読込 106Sunday, October 6, 13
    • データフレームとは •いろんなデータを混ぜ込んだもの • いろんな=質的データ+量的データ • 混ぜ込む=一緒に並んでいること 107Sunday, October 6, 13
    • 名前 血液型 身長 体重 坂本 B 175 65 高橋 B 177 70 阿部 B 174 75 長野 A 179 70 松本 O 170 60 データフレームとは 108Sunday, October 6, 13
    • データフレームとは • Excel の WS とほぼ同じイメージ • 既存データの読込>自力で作る • data.frame() 関数が使える 109Sunday, October 6, 13
    • じゃあ 実際に自力で作るか といったら... 110Sunday, October 6, 13
    • ああー聞こえないー http://www.flickr.com/photos/trojanguy/3046207115/ “173.365 - Come on, feel the noise”by Jeff the Trojan 111Sunday, October 6, 13
    • そこで 外部データの読込 を行おう 112Sunday, October 6, 13
    • 1. 行列のおはなし 2. データフレーム 3. 外部データの読込 Sub topics 113Sunday, October 6, 13
    • ここはトラブル多発地域です うまくいかない時は まず説明をお聴きください 114Sunday, October 6, 13
    • おそらく... •Excel でデータ管理 •できればそのまま活かしたい 115Sunday, October 6, 13
    • 作業ディレクトリの設定 •作業ディレクトリとは... •データを読み込む場所 •データを書き出す場所 116Sunday, October 6, 13
    • 作業ディレクトリの設定 • Windows:ファイル → ディレクトリの変更 • “My Documents”にファイル移動 • Mac OS X:環境設定 → 一般(起動) • ホームディレクトリにファイル移動 • Linux:up to you... 117Sunday, October 6, 13
    • 作業ディレクトリの設定 • コンソールからの確認・設定も可能 • getwd()関数:現在の設定を確認 • > getwd() • setwd()関数:現在の設定を変更 • > setwd("/Users/sakaue/Desktop/") • 実行注意!! 118Sunday, October 6, 13
    • データの読込 その1 • read.csv() 関数 • CSV 形式のファイルを読み込む • CSV: Comma Separated Value 119Sunday, October 6, 13
    • 1. jaecs2013.csv を作業ディレクトリへ移動 • XLS/XLSX 形式のものは保存時に変換 • CSV ファイルの文字コードは UTF-8 に 2. > test <- read.csv(“jaecs2013.csv”) で代入 3.> test [Enter] で中身を確認 データの読込 その1 120Sunday, October 6, 13
    • CSV 変換なんて面倒... という方に 121Sunday, October 6, 13
    • データの読込 その2 • read.delim() 関数 • 表形式のデータ読み込む • delim: delimiter(区切り文字) 122Sunday, October 6, 13
    • 1. jaecs2013.xls を開いてマウスで範囲指定 2. > test2 <- read.delim("clipboard") で代入 3. > test2 [Enter] で中身を確認 データの読込 その2 Mac の場合: read.delim(pipe(“pbpaste”)) 123Sunday, October 6, 13
    • 読み込んだら関数で処理 > table(test2[,2]) •度数分布を確認する > mean(test2[,3]) •平均値を求める 2列目対象 3列目対象 124Sunday, October 6, 13
    • 外部データの読込 • 作業ディレクトリの設定に注意 • CSV 形式に変換後、read.csv()関数で読込 • 必要な行 or 列を指定して処理 ※パッケージの利用によりExcelファイルを 直接読み込むことも可能(本日割愛) 125Sunday, October 6, 13
    • http://www.flickr.com/photos/rosengrant/4751386872/ CSV 形式にして 読み込めば 重たいExcelファイルに サヨナラ! “y2.d175 | Lasershow! Relax!” by B Rosen 126Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 127Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 128Sunday, October 6, 13
    • データを集めたら 数値要約だけでなく データの視覚化も必要 129Sunday, October 6, 13
    • というわけで 作図の時間です 130Sunday, October 6, 13
    • 基本的な作図手順 1. 変数に値を代入する 2. 作図用の関数を実行 131Sunday, October 6, 13
    • たった2段階 Excel や SPSS ではこうはいかない 132Sunday, October 6, 13
    • • ヒストグラム • 散布図 • 棒グラフ • 折れ線グラフ • 箱ひげ図 作成できる図の種類 133Sunday, October 6, 13
    • まずはヒストグラム > hist(test2[,2]) 134Sunday, October 6, 13
    • 次に箱ひげ図 > boxplot(test2[,2], test2[,3], names=c("Male", "Female")) 135Sunday, October 6, 13
    • 箱ひげ図 > boxplot(test2[,2], test2[,3], names=c("Male", "Female"), horizontal=T) 136Sunday, October 6, 13
    • 箱ひげ図 > boxplot(test2[,2], test2[,3], names=c("Male", "Female"), horizontal=T, ylim=c(0,100)) 137Sunday, October 6, 13
    • 箱ひげ図 > boxplot(test2[,2], test2[,3], names=c("Male", "Female"), horizontal=T, ylim=c(0,100), col="blue") 138Sunday, October 6, 13
    • 箱ひげ図 > boxplot(test2[,2], test2[,3], names=c("Male", "Female"), horizontal=T, ylim=c(0,100), col="blue", xlab="score", ylab="sex", main="BOXPLOT") 139Sunday, October 6, 13
    • 次は散布図 【事例】 英語の試験と英作文の語数の 相関を見る 142Sunday, October 6, 13
    • 散布図 > score <- c(60, 50, 72, 43, 50) > words <- c(340, 190, 465, 170, 130) > plot(score,words) 143Sunday, October 6, 13
    • 今度は折れ線グラフ > x <- rnorm(10) # 平均0,分散1の正規分布の乱数で,10要素のベクトル > plot(x, type=”l”) # 引数 type を l にして折れ線グラフに 144Sunday, October 6, 13
    • > barplot(1:10) # 10本並んだ棒グラフ > barplot(1:10, col=rainbow(5)) # 引数 col を rainbow(5) にして5色使用 > barplot(1:10, col=rainbow(5), horiz=T) # 引数 horiz を T にして水平に並べる 最後は棒グラフ (1) 145Sunday, October 6, 13
    • 最後は棒グラフ (2) > barplot(1:5, col=rainbow(5), horiz=T, names=c("s1", "s2", "s3", "s4", "s5"), main="SAMPLE") # 5本並んだ棒グラフ。項目名やタイトルを追記。 146Sunday, October 6, 13
    • グラフの保存方法 > pdf() # pdf デバイスを開く() > plot(1:10) # プロット → Rplots.pdf に出力 > dev.off() # デバイスを閉じる ★慣れないうちは画面上のメニューから選ぶのが無難 147Sunday, October 6, 13
    • ちなみに... Windows 版 R であれば (Word 等M$製品への貼付けなら) Metafile での利用がオススメ 148Sunday, October 6, 13
    • ちなみに... Mac 版 R であれば Postscript / SVG など... (参考: http://sheephead.homelinux.org/2012/02/14/6959/) 149Sunday, October 6, 13
    • 1. R でせっかく作ったのに... 2. ベクタ(ベクトル)とは? 3. とにかく EPS! EPS! Sub topics 150Sunday, October 6, 13
    • 1. R でせっかく作ったのに... 2. ベクタ(ベクトル)とは? 3. とにかく EPS! EPS! Sub topics 151Sunday, October 6, 13
    • 美しくない 152Sunday, October 6, 13
    • 実に美しい 153Sunday, October 6, 13
    • クッキリ度が明らかに違う 154Sunday, October 6, 13
    • 1. R でせっかく作ったのに... 2. ベクタ(ベクトル)とは? 3. とにかく EPS! EPS! Sub topics 155Sunday, October 6, 13
    • 1. R でせっかく作ったのに... 2. ベクタ(ベクトル)とは? 3. とにかく EPS! EPS! Sub topics 156Sunday, October 6, 13
    • 2. ベクタ(ベクトル)とは? 詳しくは Web で! http://ja.wikipedia.org/wiki/%E3%83%99%E3%82%AF%E3%82%BF%E5%BD%A2%E5%BC%8F 157Sunday, October 6, 13
    • ベクタ(ベクトル)とは? JPG/GIF/PNG Vector 美しさ 印刷 親密度 Web でみるなら... 常に美しい 不向き 向きまくり 高 低 158Sunday, October 6, 13
    • 1. R でせっかく作ったのに... 2. ベクタ(ベクトル)とは? 3. とにかく EPS! EPS! Sub topics 160Sunday, October 6, 13
    • 1. R でせっかく作ったのに... 2. ベクタ(ベクトル)とは? 3. とにかく EPS! EPS! Sub topics 161Sunday, October 6, 13
    • 3. とにかく EPS! EPS! 今後の出力形式は ぜひベクタ形式で 162Sunday, October 6, 13
    • 3. とにかく EPS! EPS! 窓の方向け 163Sunday, October 6, 13
    • 窓の方向け > win.metafile(filename="hoge.wmf") > plot(1:50) > dev.off() 3. とにかく EPS! EPS! 164Sunday, October 6, 13
    • 林檎 (or Linux) の方向け > setEPS() > postscript("hoge.eps") > plot(1:50) > dev.off() 165Sunday, October 6, 13
    • ちなみにちなみに... • フォント設定の確認 • 使用フォントの指定 167Sunday, October 6, 13
    • 初期設定は $sans > sample <- c(1:10) > plot(sample) # $sans適用 > plot(sample, family="serif") 168Sunday, October 6, 13
    • 日本語フォントの指定 (Win) > windowsFonts(JP1=windowsFont("MS Gothic"), JP2=windowsFont("MS Mincho")) #それぞれのフォントにニックネームをつけてあげる > sample <- c(1:10) > plot(sample, family="JP1", main="サンプルの図です") > plot(sample, family="JP2", main="サンプルの図です") 169Sunday, October 6, 13
    • > par(family="HiraKakuPro-W3")  # ヒラギノフォントを使用 > sample <- c(1:10) > plot(sample, main="サンプルの図です") 日本語フォントの指定 (Mac) 170Sunday, October 6, 13
    • > quartzFonts(hira = quartzFont(rep("HiraKakuPro-W3",4))) # 面倒でミスりやすいので,par(family=”xxx”) の方が楽 日本語フォントの指定 (Mac) 171Sunday, October 6, 13
    • 作図手順のまとめ 1. 変数に値を代入する 2. 作図用の関数を使って処理する 3. 形式を指定して保存 +人に伝承(twitter, FB) 173Sunday, October 6, 13
    • http://www.flickr.com/photos/rosengrant/4751386872/ 手軽に美しく 作図できる    を 使えるようになれば Excel におさらば! “y2.d175 | Lasershow! Relax!” by B Rosen 174Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 175Sunday, October 6, 13
    • Agenda 1. R の基本操作 2. 関数と変数が命 3. 外部データの読込 4. R で作図 5. R で検定 176Sunday, October 6, 13
    • 言語現象を 数値データ+検定 から捉えてみたい を使う経緯言語研究で 177Sunday, October 6, 13
    • t 検定 カイ二乗検定 パワーアナリシス 分散分析 共分散分析 判別分析 主成分分析 クラスカル・ウォリス検定 符号検定 マクマネー検定 因子分析 178Sunday, October 6, 13
    • で「t 検定」 179Sunday, October 6, 13
    • 検定の前に仮説を設ける • 帰無仮説 H0:「差はない」「効果はない」 • 対立仮説 H1:「差がある」「効果がある」 • H0が正しいという前提で,検定統計量 (t, χ2, F ) を求める • 検定統計量が極端で滅多に得られないような値となれば, 帰無仮説を棄却し,対立仮説を採択する 180Sunday, October 6, 13
    • t 検定 • 2つのグループの平均値の差の検定 するのに使う手法 • R では t.test() であっさりと実行 181Sunday, October 6, 13
    • • (例)あるテストの平均値に男女差があるかどうか > male <- test2[,2] > female <- test2[,3] > t.test(male, female, var.equal=TRUE) t 検定 182Sunday, October 6, 13
    • > t.test(male, female,var.equal=TRUE) Two Sample t-test data: male and female t = -0.9232, df = 58, p-value = 0.3597 alternative hypothesis: true difference in means is not equal to 0 # 両側検定 95 percent confidence interval: # 信頼区間 -9.926800 3.660134 sample estimates: mean of x mean of y 62.06667 65.20000 t 検定 183Sunday, October 6, 13
    • t 検定の前に... http://aoki2.si.gunma-u.ac.jp/lecture/Average/bunsan1.html “等分散であるかどうかを確かめてから,普通の t 検定を使うか,Welch の方法による t 検定にす るかを決めるというのは,よくない。最初から Welch の方法による t 検定を使えばよい。” 184Sunday, October 6, 13
    • 問答無用にWelch ! よく分からないが(解説希望), 1つのこと(有意差の有無)を知りたい のに,予備の検定を含めた2段階の検定 を行うのが「気持ち悪い」らしい。 185Sunday, October 6, 13
    • ソース! ソース! ―(等分散の検定はせず)最初から Welch で行け― • http://oku.edu.mie-u.ac.jp/~okumura/blog/node/2262 • http://aoki2.si.gunma-u.ac.jp/lecture/BF/index.html • Donald W. Zimmerman, ``Some properties of preliminary tests of equality of variances in the two-sample location problem'', The Journal of General Psychology, Vol.123, pp. 217-231 (1996) • The unequal variance t-test is an underused alternative to Student's t-test and the Mann-Whitney U test -- Ruxton 17 (4): 688 -- Behavioral Ecology • 馬車馬のように: [統計]Mann-WhitneyのU検定と不等分散(http://qdai.way- nifty.com/qjes/2005/02/mannwhitneyu.html 186Sunday, October 6, 13
    • • (例)英語の好きな組と嫌いな組が受けたテストの 平均値に差があるかどうか > like <- c(6,10,6,10,7,8,7,9,10,4) > dislike <- c(3,5,6,4,4,8,4,5,4,7) > t.test(like,dislike,var.equal=FALSE) t 検定 187Sunday, October 6, 13
    • > t.test(like,dislike,var.equal=FALSE) Welch Two Sample t-test data: like and dislike t = 3.3041, df = 16.795, p-value = 0.004249 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 0.9743014 4.4256986 sample estimates: mean of x mean of y 7.7 5.0 という訳で... 188Sunday, October 6, 13
    • t 検定 カイ二乗検定 パワーアナリシス 分散分析 共分散分析 判別分析 主成分分析 クラスカル・ウォリス検定 符号検定 マクマネー検定 因子分析 190Sunday, October 6, 13
    • で「カイ二乗検定」 191Sunday, October 6, 13
    • カイ二乗検定 • 独立性の検定のために使う • (例)数学が好き嫌いと統計の好き嫌いの間に有 意な連関があるか • (例)あるコーパス中の表現Aと表現Bの頻度の差 • ざっくり言えば,期待度数と観測度数のズレ が偶然出ちゃったかどうかを調べる 192Sunday, October 6, 13
    • 事例: 接続詞“however”の生起位置の比較 文頭 文中 文末 合計 頻度 109 347 8 493 [文頭] However, .... [文中] ..., however, .... [文末] ..., however. 193Sunday, October 6, 13
    • > freq <- c(109,347,8) > chisq.test(freq,correct=FALSE) Chi-squared test for given probabilities data: freq X-squared = 391.7371, df = 2, p-value < 2.2e-16 # 手作業なら,カイ二乗分布表の自由度2のところを確認する # http://homepage2.nifty.com/nandemoarchive/toukei_kiso/t_F_chi.htm 生起位置の比較のためにカイ二乗検定を実行 194Sunday, October 6, 13
    • • 差がありそうかなさそうかを判断するため に各種検定を行う • 平均値の差の検定:t 検定・分散分析 • 独立性の検定  :カイ二乗検定 • 数行のコマンドであっさり検定! • データ準備の手間は多少かかるかも... で検定のまとめ 195Sunday, October 6, 13
    • 言語現象を 数値データ+検定 から捉えてみましょう を使って 196Sunday, October 6, 13
    • 参考文献 198Sunday, October 6, 13
    • 参考文献(続) 199Sunday, October 6, 13
    • Enjoy ! twitter: @sakaue e-mail: tsakaue<AT>hiroshima-u.ac.jp 200Sunday, October 6, 13