SlideShare uma empresa Scribd logo
1 de 172
Baixar para ler offline
第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
Ugeeeeeeeee




Saturday, May 19, 12
Excel や SPSS は...
         • 高価(気軽に試せない)
         • 処理が信頼できず
                       • Excel のひどい話(青木先生@群馬大)
         • グラフィックスが美しくない
Saturday, May 19, 12
Excel
                       SPSS
Saturday, 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
                       SPSS
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
まずは四則演算
                       • 式を入力し [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 don't 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 don't 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つにまとめる関数
                 •     逆に書いても(一応)OK


Saturday, 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
今日は
                       メモを頼りに
                       実行できれば OK

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
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   80
Saturday, May 19, 12
複数の行や列で表される
                       データを扱うために
                       Rでは「行列」を使う


Saturday, May 19, 12
行列とは


      数値が縦横に並べられたもの



Saturday, May 19, 12
1   2   3
                       4   5   6
                       7   8   9


Saturday, May 19, 12
Saturday, May 19, 12
                       行
1   2   3
                       4   5   6
                       7   8   9


Saturday, May 19, 12
1   2   3
                       4   5   6
                       7   8   9


Saturday, May 19, 12
1   2   3
                       4   5   6
                       7   8   9


Saturday, May 19, 12
Saturday, May 19, 12
                       列
1   2   3
                       4   5   6
                       7   8   9


Saturday, May 19, 12
1   2   3
                       4   5   6
                       7   8   9


Saturday, May 19, 12
1   2   3
                       4   5   6
                       7   8   9


Saturday, 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   80
Saturday, 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      9

Saturday, May 19, 12
matrix(1:9,nrow=3,ncol=3,byrow=TRUE)


                       1   2   3
                       4   5   6
                       7   8   9

Saturday, May 19, 12
行列の要素を取り出す


                  1. 行列を作り、変数に代入

                  2. 変数の中から見たい行や列を指定




Saturday, May 19, 12
行列の要素を取り出す
                   demo <- matrix(1:30,nrow=5,ncol=6)




       http://gyazo.com/76c58d5d6c8426a44f160897cda99671.png

Saturday, May 19, 12
行列の要素を取り出す
                       2行目を表示 → demo[2,]
                       2列目を表示 → demo[,2]




              http://gyazo.com/6726084afd9e1cc4b03df85fe6bc0f29.png
Saturday, May 19, 12
行列の要素を取り出す

                       2行目と4行目を表示
                        → demo[c(2,4),]
                       2列目と4列目を表示
                        → demo[, c(2,4)]

Saturday, May 19, 12
行列の要素を取り出す




              http://gyazo.com/a116c0e2f1284ea7d38bf7024d92f1cc.png
Saturday, 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   60
Saturday, 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 Value

Saturday, 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
                       SPSS
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
というわけで
                       作図のお時間です


Saturday, May 19, 12
基本的な作図手順

                   1. 変数に値を代入する
                   2. 作図用の関数を使って
                       処理する

Saturday, May 19, 12
たった2段階です

                       Excel や SPSS と
                        来たら... orz
Saturday, 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.html




Saturday, 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.0

Saturday, May 19, 12
t 検定の前に...
         “等分散であるかどうかを確かめてから,普通の
          t 検定を使うか,Welch の方法による t 検定にす
           るかを決めるというのは,よくない。最初から
                  Welch の方法による t 検定を使えばよい。”

   http://aoki2.si.gunma-u.ac.jp/lecture/Average/bunsan1.html



Saturday, 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 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




Saturday, 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.0

Saturday, 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.html


Saturday, 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.htm



Saturday, 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    9
Saturday, 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 ' ' 1




Saturday, May 19, 12
分散分析には
            「ANOVA君」を使おう
                       http://www11.atpages.jp/~riseki/pukiwikiplus/
                                index.php?ANOVA%B7%AF




Saturday, 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.pdf



Saturday, May 19, 12

Mais conteúdo relacionado

Mais de SAKAUE, Tatsuya

HiRoshimaR6_ExplodingBoxplot
HiRoshimaR6_ExplodingBoxplotHiRoshimaR6_ExplodingBoxplot
HiRoshimaR6_ExplodingBoxplotSAKAUE, Tatsuya
 
HiroshimaR6_Introduction
HiroshimaR6_IntroductionHiroshimaR6_Introduction
HiroshimaR6_IntroductionSAKAUE, Tatsuya
 
MethokenOkinawa_Sakaue_LearnerCorpus
MethokenOkinawa_Sakaue_LearnerCorpusMethokenOkinawa_Sakaue_LearnerCorpus
MethokenOkinawa_Sakaue_LearnerCorpusSAKAUE, Tatsuya
 
外国語教育メディア学会第54回全国研究大会ワークショップ「Rによる外国語教育データの分析と可視化の基本」
外国語教育メディア学会第54回全国研究大会ワークショップ「Rによる外国語教育データの分析と可視化の基本」外国語教育メディア学会第54回全国研究大会ワークショップ「Rによる外国語教育データの分析と可視化の基本」
外国語教育メディア学会第54回全国研究大会ワークショップ「Rによる外国語教育データの分析と可視化の基本」SAKAUE, Tatsuya
 
ポッドキャスト利用による個別学習の支援とリスニング不安への影響
ポッドキャスト利用による個別学習の支援とリスニング不安への影響ポッドキャスト利用による個別学習の支援とリスニング不安への影響
ポッドキャスト利用による個別学習の支援とリスニング不安への影響SAKAUE, Tatsuya
 
Nagoya.R #10 LT 「グラフはベクタ(ベクトル)画像で出力しようじゃありませんか」
Nagoya.R #10 LT 「グラフはベクタ(ベクトル)画像で出力しようじゃありませんか」Nagoya.R #10 LT 「グラフはベクタ(ベクトル)画像で出力しようじゃありませんか」
Nagoya.R #10 LT 「グラフはベクタ(ベクトル)画像で出力しようじゃありませんか」SAKAUE, Tatsuya
 
ベクタ画像と PNG 画像の比較
ベクタ画像と PNG 画像の比較ベクタ画像と PNG 画像の比較
ベクタ画像と PNG 画像の比較SAKAUE, Tatsuya
 
反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するかSAKAUE, Tatsuya
 
授業外で個別学習を促進するためのポッドキャスト利用
授業外で個別学習を促進するためのポッドキャスト利用授業外で個別学習を促進するためのポッドキャスト利用
授業外で個別学習を促進するためのポッドキャスト利用SAKAUE, Tatsuya
 
R のインストール手順(LET 2012用)
R のインストール手順(LET 2012用)R のインストール手順(LET 2012用)
R のインストール手順(LET 2012用)SAKAUE, Tatsuya
 
Osaka.R #7 LT: フォントのオハナシ
Osaka.R #7 LT: フォントのオハナシOsaka.R #7 LT: フォントのオハナシ
Osaka.R #7 LT: フォントのオハナシSAKAUE, Tatsuya
 
HiRoshima.R #2 LT by @sakaue
HiRoshima.R #2 LT by @sakaueHiRoshima.R #2 LT by @sakaue
HiRoshima.R #2 LT by @sakaueSAKAUE, Tatsuya
 
HiRoshima.R #2 入門者講習資料
HiRoshima.R #2 入門者講習資料HiRoshima.R #2 入門者講習資料
HiRoshima.R #2 入門者講習資料SAKAUE, Tatsuya
 
Introduction to "R" for Language Researchers
Introduction to "R" for Language ResearchersIntroduction to "R" for Language Researchers
Introduction to "R" for Language ResearchersSAKAUE, Tatsuya
 
Japan.R #2 Introduction to R
Japan.R #2 Introduction to RJapan.R #2 Introduction to R
Japan.R #2 Introduction to RSAKAUE, Tatsuya
 
SAKAUE & KIDA (2011) @JASELE Yamagata
SAKAUE & KIDA (2011) @JASELE Yamagata SAKAUE & KIDA (2011) @JASELE Yamagata
SAKAUE & KIDA (2011) @JASELE Yamagata SAKAUE, Tatsuya
 

Mais de SAKAUE, Tatsuya (20)

HiRoshimaR6_ExplodingBoxplot
HiRoshimaR6_ExplodingBoxplotHiRoshimaR6_ExplodingBoxplot
HiRoshimaR6_ExplodingBoxplot
 
HiroshimaR6_Introduction
HiroshimaR6_IntroductionHiroshimaR6_Introduction
HiroshimaR6_Introduction
 
JASELE2015-KumamotoWS
JASELE2015-KumamotoWSJASELE2015-KumamotoWS
JASELE2015-KumamotoWS
 
Hiroshimar3_rmecab
Hiroshimar3_rmecabHiroshimar3_rmecab
Hiroshimar3_rmecab
 
MethokenOkinawa_Sakaue_LearnerCorpus
MethokenOkinawa_Sakaue_LearnerCorpusMethokenOkinawa_Sakaue_LearnerCorpus
MethokenOkinawa_Sakaue_LearnerCorpus
 
外国語教育メディア学会第54回全国研究大会ワークショップ「Rによる外国語教育データの分析と可視化の基本」
外国語教育メディア学会第54回全国研究大会ワークショップ「Rによる外国語教育データの分析と可視化の基本」外国語教育メディア学会第54回全国研究大会ワークショップ「Rによる外国語教育データの分析と可視化の基本」
外国語教育メディア学会第54回全国研究大会ワークショップ「Rによる外国語教育データの分析と可視化の基本」
 
ポッドキャスト利用による個別学習の支援とリスニング不安への影響
ポッドキャスト利用による個別学習の支援とリスニング不安への影響ポッドキャスト利用による個別学習の支援とリスニング不安への影響
ポッドキャスト利用による個別学習の支援とリスニング不安への影響
 
Nagoya.R #10 LT 「グラフはベクタ(ベクトル)画像で出力しようじゃありませんか」
Nagoya.R #10 LT 「グラフはベクタ(ベクトル)画像で出力しようじゃありませんか」Nagoya.R #10 LT 「グラフはベクタ(ベクトル)画像で出力しようじゃありませんか」
Nagoya.R #10 LT 「グラフはベクタ(ベクトル)画像で出力しようじゃありませんか」
 
ベクタ画像と PNG 画像の比較
ベクタ画像と PNG 画像の比較ベクタ画像と PNG 画像の比較
ベクタ画像と PNG 画像の比較
 
反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか反応時間データをどう分析し図示するか
反応時間データをどう分析し図示するか
 
授業外で個別学習を促進するためのポッドキャスト利用
授業外で個別学習を促進するためのポッドキャスト利用授業外で個別学習を促進するためのポッドキャスト利用
授業外で個別学習を促進するためのポッドキャスト利用
 
R のインストール手順(LET 2012用)
R のインストール手順(LET 2012用)R のインストール手順(LET 2012用)
R のインストール手順(LET 2012用)
 
Osaka.R #7 LT: フォントのオハナシ
Osaka.R #7 LT: フォントのオハナシOsaka.R #7 LT: フォントのオハナシ
Osaka.R #7 LT: フォントのオハナシ
 
HiRoshima.R #2 LT by @sakaue
HiRoshima.R #2 LT by @sakaueHiRoshima.R #2 LT by @sakaue
HiRoshima.R #2 LT by @sakaue
 
HiRoshima.R #2 入門者講習資料
HiRoshima.R #2 入門者講習資料HiRoshima.R #2 入門者講習資料
HiRoshima.R #2 入門者講習資料
 
Introduction to "R" for Language Researchers
Introduction to "R" for Language ResearchersIntroduction to "R" for Language Researchers
Introduction to "R" for Language Researchers
 
How2Install "R"
How2Install "R"How2Install "R"
How2Install "R"
 
Japan.R #2 Introduction to R
Japan.R #2 Introduction to RJapan.R #2 Introduction to R
Japan.R #2 Introduction to R
 
Nagoya.R #6 LT Beanplot
Nagoya.R #6 LT BeanplotNagoya.R #6 LT Beanplot
Nagoya.R #6 LT Beanplot
 
SAKAUE & KIDA (2011) @JASELE Yamagata
SAKAUE & KIDA (2011) @JASELE Yamagata SAKAUE & KIDA (2011) @JASELE Yamagata
SAKAUE & KIDA (2011) @JASELE Yamagata
 

Último

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 

Último (7)

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 

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

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