!![言語情報処理入門(2013年度前期木曜5時限目)|http://syllabus.gsid.nagoya-u.ac.jp/syllabus/2013/113.html] !R による統計・言語処理入門(担当:杉浦) +6月 6日 R による統計処理入門(R の基本的な使い方の説明) +6月13日 R による統計処理基礎(R を使った統計処理の紹介)<<(統計処理の続きを少しとテキスト処理)>> **(一週とばして) +6月27日 R による統計処理演習(具体的な分析事例の紹介と演習)<<(テキスト処理の続きと分析事例)>> ---- {{outline}} !!!1. Rによる統計処理入門 [WikiPedia|http://ja.wikipedia.org/wiki/R%E8%A8%80%E8%AA%9E] R言語(アールげんご)は、オープンソースでフリーソフトウェアの 統計解析向けプログラミング言語、及びその開発実行環境である。 !!1.1 はじめに ![インストール|http://www.okada.jp.org/RWiki/?R%20%A4%CE%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB] *RjpWikiを検索 *http://www.r-project.org/ *([RStudio|http://www.rstudio.com/]もインストールすると便利)   !起動と終了  起動:「スタート」から選ぶ  終了:「メニュー」の「ファイル」から「終了」を選ぶか、コマンド <>     (作業スペースの保存 => パソコン室での作業の場合、自分のUSBメモリーに) !コンソールでコマンド  「R Console」という窓  プロンプト <<>>> の右にコマンド(命令)を書く コマンドを組み合わせて、ひとまとめにしてプログラムにする(「関数」とよぶ) !データを「処理」する  統計処理  テキスト処理 処理する前に、データを整形する  データは、文字か数字  数字のデータを整形する   エクセルなどで、プログラムの「想定している」形式に合わせる。  文字のデータを整形する   コーパス・データのフォーマット    CHILDESのCHATフォーマットなど !習得しないといけないこと  自分に必要なコマンド・プログラムは何か  <<それに合わせたデータの整形>> !!1.2 Rを使った処理の実例紹介 !「学部の違う二つのクラスで同じ試験を実施した。学部によって成績に差があるか? +エクセルにあるデータをタブ区切りのテキストで保存。(テキスト(タブ区切り)(*.txt) +[データ|http://sugiura-ken.org/wiki/wiki.cgi/exp?page=R.data]を読み込む。 **データフレーム名 <- <>(<>(), header = T) classes <- read.table(choose.files(), header = T) +t検定 **差がないと仮定する(差がないことがあり得るか) **クラスごと別々の受講生のデータ(対応のないデータ) t.test(classes$ClassA, classes$ClassB) ***"Welch Two Sample t-test" (等分散でなくてもよい) !「ある教材で学習したら成績が上がるか?:事前テストより事後テストの方が良い成績か?」 +エクセルにあるデータをタブ区切りのテキストで保存。(テキスト(タブ区切り)) +データを読み込む。 **データフレーム名 <- <>(<>(), header = T) prepost <- read.table(choose.files(), header = T) +t検定 **差がないと想定する(差がないことがあり得るか) ***それぞれの学生ごとにデータがある(<<対応のあるデータ>>) <>(prepost$pre, prepost$post, <>) !!1.3 用意されたデータを使った演習(自分でやってみる) !データの種類・フォーマットについて確認 http://sugiura-ken.org/wiki/wiki.cgi/exp?page=R.data !サンプルデータ +学部別クラスデータ{{ref two-classes.xlsx}} +事前・事後テスト {{ref pre-post.xlsx}} !!1.4 基礎的なコマンド !参考 http://oscar.gsid.nagoya-u.ac.jp/~sugiura/ed/resource/introR.html ---- !データを取り出す A <- classes$ClassA B <- classes$ClassB *変数が、すでに使われている場合、上書きされてしまう。 *使われているかどうかは、変数を入れて「リターン」で確かめればよい。 *データの一覧を見るには <> !データを見てみる。 *いくつ要素があるか見る length(x) *平均を出す mean(x) *レンジ(範囲)を出す range(x) *標準偏差を出す sd(x) *データの全体像を見る summary(x) !グラフにしてみる [資料のちらばりを表す|http://www.toukei.metro.tokyo.jp/manabou/tyuu/sirou2/tokutyou2/ma1206t24h.htm] *hist() *stem() **縦棒の左側が10(以上)のけた、右側が1のけた *boxplot() *barplot() *plot() [図を順にかさねていくわざ|http://hosho.ees.hokudai.ac.jp/~kubo/ce/IntroductionPlot1.html] !正規性の検定 !等分散の検定(F test) !!1.5 今日の課題(宿題) !山下先生担当の授業で使ったデータを使ってRで統計処理をしてみること。 +対応のあるサンプルの場合:「2013test.xlsx」で、事前テストと事後テストで平均点に差があるか?」 +独立したサンプルの場合 :「2013method1.xlsx」で、「二つのクラスの学力に差があるか?」 !!1.6 分散分析 ![Rで分散分析はANOVA君できまり|http://www11.atpages.jp/~riseki/pukiwikiplus/index.php?ANOVA%B7%AF] *[js-STAR|http://www.kisnet.or.jp/nappa/software/star/]と同じ使い勝手・説明 **[田中・山際 (2008)『ユーザーのための教育・心理統計と実験計画法―方法の理解から論文の書き方まで』|http://www.amazon.co.jp/dp/4316329014]で勉強できる。 !anova君のインストール(Rで書かれたプログラムを読み込んで使う) +anovakun というソースコードをダウンロードする +Rのメニューからソースコードを読み込む source(http://www11.atpages.jp/~riseki/pukiwikiplus/index.php?plugin=attach&refer=ANOVA%B7%AF&openfile=anovakun_433.txt) !分散分析とは !分散分析のタイプと分析の手順 分散分析のタイプ一覧 As(1要因参加者間) sA(1要因参加者内) ABs(2要因参加者間) AsB(2要因混合) sAB(2要因参加者内) ABCs(3要因参加者間) ABsC(3要因混合) AsBC(3要因混合) sABC(3要因参加者内) +分析のタイプを決める。 ++要因はいくつあるか ++それぞれの要因は「被験者内」か「被験者間」か(「対応のある」データか「対応のない」データか) ++それぞれの要因に「水準」はいくつあるか ++例 +++トレーニングをする前と後で成績が上がるか(一要因・被験者内・二水準) +++トレーニングをする前と後、そして、しばらくしてからも効果が残るか(一要因・被験者内・三水準) +++文学部、工学部、理学部で、英語の成績に差があるか(一要因・被験者間・三水準) +++漢字の画数が多い熟語と少ない熟語で読む時間に差があるか(一要因・被験者内・二水準) +++漢字の画数が多い熟語と少ない熟語で、実在する語と実在しない語とで、読む時間に差があるか(二要因・被験者内・2×2) +++漢字の画数が多い熟語と少ない熟語を読むときに、日本語母語話者と学習者とで差があるか(二要因・混合・2×2) +++漢字の画数が多い熟語と少ない熟語で、実在する語と実在しない語とで、日本語母語話者と学習者とで読む時間に差があるか(三要因・混合・2×2×2) +分析にタイプに合わせてデータを整形する。 +データを読み込む。 +分析のタイプに合わせて、コマンドを実行する。 !anova君を使った分析の実例「事前・事後・遅延テストで、成績に差があるか?」 +同じ人から3種類のデータを取っているので「対応のあるデータ」(被験者内)(参加者内とも呼ぶ) +要因は、タイミングだけなので、1要因(水準は三つ) +タイプとしては sA(1要因参加者内) タイプ。 +被験者内なので、平均の差の標準誤差が等しいことを確認するために球面性検定を行う。 ++その際に、もし有意だった場合、自動で自由度の補正を行うオプションをつける <> +コマンド anovakun(データ, "タイプ", オプション) *分析結果 {{ref anovakun-result.txt}}