Nagoya.R #8 入門者講習資料
Upcoming SlideShare
Loading in...5
×
 

Nagoya.R #8 入門者講習資料

on

  • 1,496 views

Nagoya.R #8 入門者講習での資料。フォントの話やグラフの話を追加しました。(丁寧に話すと2時間かかります)

Nagoya.R #8 入門者講習での資料。フォントの話やグラフの話を追加しました。(丁寧に話すと2時間かかります)

Statistics

Views

Total Views
1,496
Slideshare-icon Views on SlideShare
1,423
Embed Views
73

Actions

Likes
3
Downloads
9
Comments
0

2 Embeds 73

https://cybozulive.com 62
https://twimg0-a.akamaihd.net 11

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

    Nagoya.R #8 入門者講習資料 Nagoya.R #8 入門者講習資料 Presentation Transcript

    • 第1部:入門者講習 2012-05-19 Nagoya.R #8 @ Nagoya Univ.Saturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    •  とは何か • 統計処理を目的とするプログラミング言語 • 作者: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 • 無償+オープンソースのソフトウェアSaturday, May 19, 12
    • 要するに 統計ソフトSaturday, May 19, 12
    •   の何が良いのか • 無償 (IBM SPSS Statistics は約10万円で保守なし...) • 統計処理の種類が豊富 • グラフィックスが美しいSaturday, May 19, 12
    •  の弱点 •文字ベースの操作 • プログラムを組む感覚を養成 • (確実に伝わるという利点あり) •多方面の知識が必要 • 英語+統計+計算機 に関する知識Saturday, May 19, 12
    • UgeeeeeeeeeSaturday, May 19, 12
    • Excel や SPSS は... • 高価(気軽に試せない) • 処理が信頼できず • Excel のひどい話(青木先生@群馬大) • グラフィックスが美しくないSaturday, May 19, 12
    • Excel SPSSSaturday, May 19, 12
    •   の基本操作 -Install / Update / Uninstall-Saturday, May 19, 12
    •   のインストール 1. http://www.r-project.org/ にアクセス 2. “download R” をクリック 3. JAPAN の中から、どれか1つを選ぶ 4. 使っている OS のリンクをクリックSaturday, May 19, 12
    •   のインストール • Windows: : http://cran.md.tsukuba.ac.jp/bin/windows/base/ •「Download R 2.14.0 for Windows」をクリック • Mac OS X: http://cran.md.tsukuba.ac.jp/bin/macosx/ •「R-2.14.0.pkg (latest version)」をクリックSaturday, May 19, 12
    • Saturday, May 19, 12
    • Saturday, May 19, 12
    • Saturday, May 19, 12
    • Saturday, May 19, 12
    • Saturday, May 19, 12
    • Saturday, May 19, 12
    •   のアップデート 1. http://www.r-project.org/ にアクセス 2. 自分が使っているバージョンより 新しいものが出ているか確認 3. 新規にインストール用ファイルを ダウンロードの上、インストールSaturday, May 19, 12
    •   のアップデート • 注意: 重大なセキュリティ上の問題が   ない限り,むやみに更新しない • パッケージ(付加機能)の動作不良回避 • 補足:Windows 版は新旧の共生可 • 何がどう共有されているか不明Saturday, May 19, 12
    •  のアンインストール • Windows • [ Windows XP] コンパネ→プログラムの追加と削除 • [ Windows 7 ] コンパネ→プログラムのアンインストール • Mac OS X • /Applications にある    アイコンと /Library の中の Frameworks にある R. framework を削除(CleanApp 可)Saturday, May 19, 12
    •   の起動 • Windows • START → Program → R → R 2.14.1 • Mac OS X • /Applications 内の R アイコンをクリック R の「コンソール」表示を確認Saturday, May 19, 12
    •   の終了 • Windows も Mac OS X も 1.「q()」と入力 2. 今は作業スペースの保存をしない 3. ウィンドウが消えて、R 終了Saturday, May 19, 12
    •   で困ったら... • まずは 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/)Saturday, May 19, 12
    •   概論まとめ •    は統計ソフト • 無償+何でも統計+美しい作図 • 困ったら help(sth) !!Saturday, May 19, 12
    • Excel SPSSSaturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • 前置きが長くなりましたが どんどん実行しましょうSaturday, May 19, 12
    • まずは四則演算 • 式を入力し [Enter] を押す • > 3+5 [Enter] • > 10-3 [Enter] • > 2*3 [Enter] • > 100/20 [Enter] • > (12 + 34 -56) * 78 / 90 [Enter]Saturday, May 19, 12
    • もうちょっと複雑に • 次の違いは? • > 100^1/2 • > 100^(1/2)Saturday, May 19, 12
    • いままでのものは 単なる計算式でしたがSaturday, May 19, 12
    •  といえば 関数 が命Saturday, May 19, 12
    • 関数とは 指定した値に対して 何らかの処理をして 結果を返すものSaturday, May 19, 12
    • 何言ってんの? “I dont know !” by fmgbain http://www.flickr.com/photos/fmgbain/4382010455/Saturday, May 19, 12
    • なにはともあれ 実行してみましょうSaturday, May 19, 12
    • sqrt():平方根 • > sqrt(2) • > sqrt(144) • > sqrt(104976)Saturday, May 19, 12
    • 「関数(値)」が命 • には多数の関数がある •q() や help(sth) も関数 •必要な関数をしつこく実行Saturday, May 19, 12
    •   といえば 変数 も命Saturday, May 19, 12
    • 変数とは 1つ以上の値を まとめていれておく 「箱」のことSaturday, May 19, 12
    • では ベクトルとも呼ばれ 複数の値を1つに まとめたものを指すSaturday, May 19, 12
    • 統計処理などを行うには 複数の値をまとめて扱う ことが必要で それを使い回すために 変数を使うSaturday, May 19, 12
    • ちなみに 変数に数値を 入れることを 「代入」といいますSaturday, May 19, 12
    • また何言ってんの? “I dont know !” by fmgbain http://www.flickr.com/photos/fmgbain/4382010455/Saturday, May 19, 12
    • なにはともあれ 実行してみましょうSaturday, May 19, 12
    • 変数の名前は “hako” • > hako <- c(1,2,3,4,5) •• > hako c() 関数:combine ( ) cf. https://twitter.com/#!/sakaue/status/193708048030760960 • 値を1つにまとめる関数 • 逆に書いても(一応)OKSaturday, May 19, 12
    • c()関数の “<-” は何? hako <- c(1,2,3,4,5) の “<-” は 左向きの矢印(←) を表現Saturday, May 19, 12
    • コンソールで「+」が出たら... • 入力中に誤って[Enter] を押すと, 待機状態を示す「+」が出る • [STOP] ボタンでキャンセル • [Esc] キーでキャンセルSaturday, May 19, 12
    • 履歴機能と補完機能 •履歴:上下の矢印キー •補完:TabキーSaturday, May 19, 12
    • 現在、hako という名前の 「変数」の中に 1から5までの5つの数字が まとめて入っている状態Saturday, May 19, 12
    • では 使い回してみましょうSaturday, May 19, 12
    • 以下の関数を実行 •> sqrt(hako) • > log(hako)Saturday, May 19, 12
    • もし変数がなかったら 何度も関数を 繰り返す羽目になる sqrt(1), sqrt(2) ... sqrt(5) log(1), log (2) ... log (5)Saturday, May 19, 12
    • 一括処理のために 変数(ベクトル)の 利用は不可欠Saturday, May 19, 12
    • では変数を もっと使い回して みましょうSaturday, May 19, 12
    • 以下の関数で実行 • 基本統計量を求める:summary() • 度数分布表を作る:table() • 合計する:sum() • データの個数を求める:length()Saturday, May 19, 12
    • 続いてこちらも実行 • 平均値を求める:mean() • 最大値と最小値を求める:max(), min() • 中央値を求める:median() • 標準偏差を求める:sd()Saturday, May 19, 12
    • ここまでのまとめ • Rは「関数」と「変数」が命 • 関数を使って数値を処理 • q(), help(), sqrt(), log(), c() • 変数を使って一括処理!Saturday, May 19, 12
    • 今日は メモを頼りに 実行できれば OKSaturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • Sub topics 1. 行列のおはなし 2. データフレーム 3. 外部データの読込Saturday, May 19, 12
    • さきほど 一行で表せる数値を 扱いましたがSaturday, May 19, 12
    • 実際のデータは 複数行あるはずSaturday, May 19, 12
    • 例えば... •身長と体重 •年齢と年収 • 覚えた単語数とTOEICスコアSaturday, May 19, 12
    • 表にすれば... 身長 体重 A 180 75 B 170 65 C 165 60 D 175 70 E 190 80Saturday, May 19, 12
    • 複数の行や列で表される データを扱うために Rでは「行列」を使うSaturday, May 19, 12
    • 行列とは 数値が縦横に並べられたものSaturday, May 19, 12
    • 1 2 3 4 5 6 7 8 9Saturday, May 19, 12
    • Saturday, May 19, 12 行
    • 1 2 3 4 5 6 7 8 9Saturday, May 19, 12
    • 1 2 3 4 5 6 7 8 9Saturday, May 19, 12
    • 1 2 3 4 5 6 7 8 9Saturday, May 19, 12
    • Saturday, May 19, 12 列
    • 1 2 3 4 5 6 7 8 9Saturday, May 19, 12
    • 1 2 3 4 5 6 7 8 9Saturday, May 19, 12
    • 1 2 3 4 5 6 7 8 9Saturday, May 19, 12
    • ひとまず 「行列」という存在を 知ってやってくださいSaturday, May 19, 12
    • そんな行列を扱うために matrix() 関数 を使うSaturday, May 19, 12
    • matrix() 関数 • 行列を作る関数 • matrix(要素, 行の数, 列の数) • デフォでは列方向に配置Saturday, May 19, 12
    • このようなデータなら 身長 体重 A 180 75 B 170 65 C 165 60 D 175 70 E 190 80Saturday, May 19, 12
    • 行列を作ってみる karada <- matrix(c(180, 170, 165, 175, 190, 75, 65, 60, 70, 80), 5, 2) 1. c() 関数で、数値を連結 2. matrix() 関数で、行列に変換 • 「5行で2列」にするという指定をする 3. karada という名の変数に代入Saturday, May 19, 12
    • > karada と入力して 変数の中身を確認Saturday, May 19, 12
    • matrix(1:9,nrow=3,ncol=3) 1 4 7 2 5 8 3 6 9Saturday, May 19, 12
    • matrix(1:9,nrow=3,ncol=3,byrow=TRUE) 1 2 3 4 5 6 7 8 9Saturday, May 19, 12
    • 行列の要素を取り出す 1. 行列を作り、変数に代入 2. 変数の中から見たい行や列を指定Saturday, May 19, 12
    • 行列の要素を取り出す demo <- matrix(1:30,nrow=5,ncol=6) http://gyazo.com/76c58d5d6c8426a44f160897cda99671.pngSaturday, May 19, 12
    • 行列の要素を取り出す 2行目を表示 → demo[2,] 2列目を表示 → demo[,2] http://gyazo.com/6726084afd9e1cc4b03df85fe6bc0f29.pngSaturday, May 19, 12
    • 行列の要素を取り出す 2行目と4行目を表示 → demo[c(2,4),] 2列目と4列目を表示 → demo[, c(2,4)]Saturday, May 19, 12
    • 行列の要素を取り出す http://gyazo.com/a116c0e2f1284ea7d38bf7024d92f1cc.pngSaturday, May 19, 12
    • 行列まとめ • 横方向が行、縦方向が列 • デフォルトでの数値の並びに注意 • 必要な要素を適宜取り出して値を確認Saturday, May 19, 12
    • Sub topics 1. 行列のおはなし 2. データフレーム 3. 外部データの読込Saturday, May 19, 12
    • データフレームとは • いろんなデータを突っ込んだもの • いろんな=質的データ+量的データ • 突っ込む=一緒に並んでいることSaturday, May 19, 12
    • データフレームとは 名前 血液型 身長 体重 坂本 B 175 65 高橋 B 177 70 阿部 B 174 75 長野 A 179 70 松本 O 170 60Saturday, May 19, 12
    • データフレームとは • Excel の WS とほぼ同じイメージ • データが大量になれば必須のもの • 既存データの読込>自力で作るSaturday, May 19, 12
    • 自力で作るなら... • data.frame()関数を使う (p.240) • ベクトルを連結して作る (p.243) • 行列をデータフレームに変換 (p.243)Saturday, May 19, 12
    • じゃあ 実際に自力で作るか といったら...Saturday, May 19, 12
    • ああー聞こえないー “173.365 - Come on, feel the noise” by Jeff the Trojan http://www.flickr.com/photos/trojanguy/3046207115/Saturday, May 19, 12
    • そこで 外部データの読込 を行おうSaturday, May 19, 12
    • Sub topics 1. 行列のおはなし 2. データフレーム 3. 外部データの読込Saturday, May 19, 12
    • ここはトラブル多発地域です うまくいかない時は まず説明をお聴きくださいSaturday, May 19, 12
    • おそらく... • Excel でのデータ管理が一般的 • そのデータをそのまま活かしたい →では、やりましょうSaturday, May 19, 12
    • 作業ディレクトリの設定 • 作業ディレクトリとは... • データを読み込む場所 • データを書き出す場所Saturday, May 19, 12
    • 作業ディレクトリの設定 • Windows:ファイル → ディレクトリの変更 • 今日は “MyDocuments” に設定 • Mac OS X:環境設定 → 一般(起動) • Linux:up to you...Saturday, May 19, 12
    • 作業ディレクトリの設定 • コンソールからの確認・設定も可能 • getwd()関数:現在の設定を確認 • > getwd() • setwd()関数:現在の設定を変更 • > setwd("/Users/sakaue/Desktop/")Saturday, May 19, 12
    • データの読込 その1 • read.csv() 関数 • CSV 形式のファイルを読み込む • CSV: Comma Separated ValueSaturday, May 19, 12
    • データの読込 その1 1. demo.csv を作業ディレクトリへ移動 • XLS/XLSX 形式のものは保存時に変換 • CSV ファイルの文字コードは UTF-8 に 2. > test <- read.csv(“demo.csv”) で代入 3. > test [Enter] で中身を確認Saturday, May 19, 12
    • CSVとか ダルいんですけど... という方にSaturday, May 19, 12
    • データの読込 その2 • read.delim() 関数 • 表形式のデータ読み込む • delim: delimiter(区切り文字)Saturday, May 19, 12
    • データの読込 その2 1. demo.xls を開き,マウスで範囲指定する 2. > test2 <- read.delim("clipboard") で代入 Mac の場合: read.delim(pipe(“pbpaste”)) 3. > test2 [Enter] で中身を確認Saturday, May 19, 12
    • 読み込んだら関数で処理 > table(test2[,1]) • 度数分布を確認する 1列目対象 > mean(test2[,2]) • 平均値を求める 2列目対象 > hist(test2[,2]) • ヒストグラムを描く 2列目対象Saturday, May 19, 12
    • 外部データの読込 • 作業ディレクトリの設定に注意 • CSV 形式に変換後、read.csv()関数で読込 • 必要な行 or 列を指定して処理Saturday, May 19, 12
    • CSV 形式にして 読み込めば 重たいExcelファイルに おさらばですよ! “y2.d175 | Lasershow! Relax!” by B Rosen http://www.flickr.com/photos/rosengrant/4751386872/Saturday, May 19, 12
    • Excel SPSSSaturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • データを集めたら 数値要約だけでなく データの視覚化も必要Saturday, May 19, 12
    • というわけで 作図のお時間ですSaturday, May 19, 12
    • 基本的な作図手順 1. 変数に値を代入する 2. 作図用の関数を使って 処理するSaturday, May 19, 12
    • たった2段階です Excel や SPSS と 来たら... orzSaturday, May 19, 12
    • まずはヒストグラム 【事例】 年齢のヒストグラムを 作成するSaturday, May 19, 12
    • まずはヒストグラム > age <- c(18, 23, 14, 19, 21, 29, 22, 21, 23, 19, 20, 20, 26, 18, 14, 6, 8, 16, 23, 20) > hist(age)Saturday, May 19, 12
    • 次は散布図 【事例】 英語の試験と 英作文の語数の 相関を見るSaturday, May 19, 12
    • 続いて散布図 > score <- c(60, 50, 72, 43, 50, 55, 43, 50, 85, 40) > words <- c(340, 190, 465, 170, 130, 225,140, 310, 580, 120) > plot(score,words)Saturday, May 19, 12
    • 続いて箱ひげ図 【事例】 大学生1年生と 高校1年生が書いた 作文の語数の「幅」を 比較するSaturday, May 19, 12
    • 続いて箱ひげ図 > high <- c(350, 285, 315, 340, 210, 185, 120, 740, 425, 155) > coll <- c(365, 570, 645, 540, 645, 665, 880, 550, 410, 585) > boxplot(high, coll, names=c("High", "Coll"))Saturday, May 19, 12
    • 今度は折れ線グラフ > x <- rnorm(10) # 平均0,分散1の正規分布の乱数で,10要素のベクトル > plot(x, type=”l”) # 引数 type を l にして折れ線グラフにSaturday, May 19, 12
    • 最後は棒グラフ (1) > barplot(1:10) # 10本並んだ棒グラフ > barplot(1:10, col=rainbow(5)) # 引数 col を rainbow(5) にして5色使用 > barplot(1:10, col=rainbow(5), horiz=T) # 引数 horiz を T にして水平に並べるSaturday, May 19, 12
    • 最後は棒グラフ (2) > barplot(1:5, col=rainbow(5), horiz=T, names=c("s1", "s2", "s3", "s4", "s5"), main="SAMPLE") # 5本並んだ棒グラフ。項目名やタイトルを追記。Saturday, May 19, 12
    • グラフの保存方法 > pdf() # pdf デバイスを開く() > plot(1:10) # プロット → Rplots.pdf に出力 > dev.off() # デバイスを閉じる ★慣れないうちは画面上のメニューから選ぶのが無難Saturday, May 19, 12
    • ちなみに... • フォント設定の確認 • 使用フォントの指定Saturday, May 19, 12
    • 初期設定は $sans > sample <- c(1:10) > plot(sample) # $sans適用 > plot(sample, family="serif")Saturday, May 19, 12
    • 日本語フォントの指定 (Win) > windowsFonts(JP1=windowsFont("MS Gothic"), JP2=windowsFont("MS Mincho")) #それぞれのフォントにニックネームをつけてあげる > sample <- c(1:10) > plot(sample, family="JP1", main="サンプルの図です") > plot(sample, family="JP2", main="サンプルの図です")Saturday, May 19, 12
    • 日本語フォントの指定 (Mac) > par(family="HiraKakuPro-W3")  # ヒラギノフォントを使用 > sample <- c(1:10) > plot(sample, main="サンプルの図です")Saturday, May 19, 12
    • 日本語フォントの指定 (Mac) > quartzFonts(hira = quartzFont(rep("HiraKakuPro-W3",4))) # 面倒でミスりやすいので,par(family=”xxx”) の方が楽Saturday, May 19, 12
    • フォント関連参考URL • http://d.hatena.ne.jp/sakaue/20111220 • http://phi.med.gunma-u.ac.jp/swtips/R.html • http://cwoweb2.bai.ne.jp/~jgb11101/files/log.htmlSaturday, May 19, 12
    • 作図手順のまとめ 1. 変数に値を代入する 2. 作図用の関数を使って処理する 3. 形式を指定して保存 +人に伝承(twitter, FB)Saturday, May 19, 12
    • 手軽に美しく 作図できる    を 使えるようになれば Excel におさらば! “y2.d175 | Lasershow! Relax!” by B Rosen http://www.flickr.com/photos/rosengrant/4751386872/Saturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • Agenda 1. R 概論 2. 関数と変数が命 3. 外部データの読込 4. あっという間に作図 5. R で検定Saturday, May 19, 12
    • を使う経緯 この世の様々な現象を 数値データ+検定 から捉えてみたいSaturday, May 19, 12
    • 共分散分析 カイ二乗検定 パワーアナリシス 主成分分析 符号検定 因子分析 t 検定 分散分析 マクマネー検定 クラスカル・ウォリス検定 判別分析Saturday, May 19, 12
    • で「t 検定」Saturday, May 19, 12
    • 検定の前に仮説を設ける • 帰無仮説 H0:「差はない」「効果はない」 • 対立仮説 H1:「差がある」「効果がある」 • H0が正しいという前提で,検定統計量 (t, χ2, F ) を求める • 検定統計量が極端で滅多に得られないような値となれば, 帰無仮説を棄却し,対立仮説を採択するSaturday, May 19, 12
    • t 検定 • 2つのグループの平均値の差の検定 するのに使う手法 • R では,t.test() であっさりと実行Saturday, May 19, 12
    • t 検定 • (例)英語の好きな組と嫌いな組が受けたテストの 平均値に差があるかどうか > 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=TRUE)Saturday, May 19, 12
    • t 検定 > t.test(like,dislike,var.equal=TRUE) Two Sample t-test data: like and dislike t = 3.3041, df = 18, p-value = 0.003946 alternative hypothesis: true difference in means is not equal to 0 # 両側検定 95 percent confidence interval: # 信頼区間 0.9831754 4.4168246 sample estimates: mean of x mean of y 7.7 5.0Saturday, May 19, 12
    • t 検定の前に... “等分散であるかどうかを確かめてから,普通の t 検定を使うか,Welch の方法による t 検定にす るかを決めるというのは,よくない。最初から Welch の方法による t 検定を使えばよい。” http://aoki2.si.gunma-u.ac.jp/lecture/Average/bunsan1.htmlSaturday, May 19, 12
    • 問答無用にWelch ! よく分からないが(解説希望), 1つのこと(有意差の有無)を知りたい のに,予備の検定を含めた2段階の検定 を行うのが「気持ち悪い」らしい。Saturday, May 19, 12
    • ソース! ソース! ―(等分散の検定はせず)最初から 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 Students 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.htmlSaturday, May 19, 12
    • という訳で... > 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.0Saturday, May 19, 12
    • ところで t 検定の t は何なのかと... • t 分布の t なんだけど... • ゴセットの発表した統計量(Student の t 分布)に, (論敵の)フィッシャーが t という記号を充てた • 別に特別な意味は無く,論文中の標本分散s^2に対する 式だったことから,s の次の t を使ったらしい... • 「ウィリアム・ゴセット」http://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%83%AA %E3%82%A2%E3%83%A0%E3%83%BB%E3%82%B4%E3%82%BB%E3%83%83%E3%83%88 • 「自由度」http://ja.wikipedia.org/wiki/%E8%87%AA%E7%94%B1%E5%BA%A6 • http://mat.isc.chubu.ac.jp/fpr/fpr1997/0119.html • http://www.pol.geophys.tohoku.ac.jp/~hanawa/ori/ori/054.htmlSaturday, May 19, 12
    • 共分散分析 カイ二乗検定 パワーアナリシス 主成分分析 符号検定 因子分析 t 検定 分散分析 マクマネー検定 クラスカル・ウォリス検定 判別分析Saturday, May 19, 12
    • で「カイ二乗検定」Saturday, May 19, 12
    • カイ二乗検定 • 独立性の検定のために使う(連関の有無) • (例)数学が好き嫌いと統計の好き嫌いの間に有 意な連関があるか • (例)あるコーパス中の表現Aと表現Bの頻度の差 • ざっくり言えば,期待度数と観測度数のズレ が偶然出ちゃったかどうかを調べるSaturday, May 19, 12
    • 事例: 接続詞 “しかし” の生起位置の比較 注)実は,英語の “however” の例 文頭 文中 文末 合計 頻度 109 347 8 493 [文頭] しかし, .... [文中] ..., しかし, .... [文末] ..., しかし.Saturday, May 19, 12
    • 生起位置の比較のためにカイ二乗検定を実行 > 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.htmSaturday, May 19, 12
    • 共分散分析 カイ二乗検定 パワーアナリシス 主成分分析 符号検定 因子分析 t 検定 分散分析 マクマネー検定 クラスカル・ウォリス検定 判別分析Saturday, May 19, 12
    • で「分散分析」Saturday, May 19, 12
    • 分散分析 • 3つ以上の平均値の差の検定のために使う • t 検定は使えない:検定の多重性の問題あり=本当 は差がないのに,差があると判断してしまう確率 (第1種の誤り)が上がってしまう • ANOVA(アノーバ、ANalysis Of VAriance) • F という検定統計量を利用(F 分布)Saturday, May 19, 12
    • 分散分析 Aクラス Bクラス Cクラス 10 9 6 8 7 4 9 4 3 6 5 9 9 2 2 5 8 6 7 4 2 9 2 4 8 8 3 10 4 9Saturday, May 19, 12
    • 分散分析 > test <- read.csv("demo.csv", head=T) > anova(lm(Class ~ Score, data=test)) Analysis of Variance Table Response: Class Df Sum Sq Mean Sq F value Pr(>F) Score 1 5.2389 5.2389 9.9376 0.00384 ** Residuals 28 14.7611 0.5272 --- Signif. codes: 0 *** 0.001 ** 0.01 * 0.05 . 0.1 1Saturday, May 19, 12
    • 分散分析には 「ANOVA君」を使おう http://www11.atpages.jp/~riseki/pukiwikiplus/ index.php?ANOVA%B7%AFSaturday, May 19, 12
    • で検定のまとめ • 差がありそうかなさそうかを判断するため に各種検定を行う • 平均値の差の検定:t 検定と分散分析 • 独立性の検定  :カイ二乗検定 • 数行のコマンドであっさり検定! • データ準備の手間は多少かかるかも...Saturday, May 19, 12
    • を使って この世の現象を 数値データ+検定 から捉えてみよう!Saturday, May 19, 12
    • 参考文献Saturday, May 19, 12
    • 参考文献Saturday, May 19, 12
    • 参考文献(続)Saturday, May 19, 12
    • 参考文献(続) 2,940円 1,785円 3,780円Saturday, May 19, 12
    • One more thing...Saturday, May 19, 12
    • 舟尾暢男氏による参考資料 第 22 回日本疫学会総会第19回疫学セミナー 「統計解析ソフトRの活用」 統計解析ソフト R の活用 ∼ R 入門& R でデータハンドリング∼ http://www.occn.zaq.ne.jp/cuhxr802/epi_20120126.pdfSaturday, May 19, 12