• Like
統計解析環境Rによる統計処理の基本―検定と視覚化―
Upcoming SlideShare
Loading in...5
×

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

  • 2,212 views
Uploaded on

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

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

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,212
On Slideshare
0
From Embeds
0
Number of Embeds
2

Actions

Shares
Downloads
28
Comments
0
Likes
11

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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