Top Banner
Rによる教育データ分析入門 小林雄一郎 (大阪大学大学院/日本学術振興会) 外国語教育メディア学会 (LET) 2011年大会 WS 名古屋学院大学 2011年8月6日(土) 1
50

LET2011: Rによる教育データ分析入門

Jul 05, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LET2011: Rによる教育データ分析入門

Rによる教育データ分析入門

小林雄一郎

(大阪大学大学院/日本学術振興会)

外国語教育メディア学会 (LET) 2011年大会 WS

於 名古屋学院大学

2011年8月6日(土)

1

Page 2: LET2011: Rによる教育データ分析入門

Agenda

• 1. 自己紹介

• 2. 統計処理言語R(講義)

• 3. Rを使った成績データの視覚化(実習)

– 基本操作

– データの読み込み

– 統計処理(記述統計)

2

– 統計処理(記述統計)

– グラフ作成(ヒストグラム、箱ひげ図)

• 4. Rを使った成績データの統計処理(実習)

– グラフ作成(散布図)

– 統計処理(回帰、相関、検定)

• 5. Rを使った成績データの多変量解析(デモ)

• 6. Rを学ぶための参考文献とウェブサイト

Page 3: LET2011: Rによる教育データ分析入門

Agenda

• 1. 自己紹介

• 2. 統計処理言語R(講義)

• 3. Rを使った成績データの視覚化(実習)

– 基本操作

– データの読み込み

– 統計処理(記述統計)

3

– 統計処理(記述統計)

– グラフ作成(ヒストグラム、箱ひげ図)

• 4. Rを使った成績データの統計処理(実習)

– グラフ作成(散布図)

– 統計処理(回帰、相関、検定)

• 5. Rを使った成績データの多変量解析(デモ)

• 6. Rを学ぶための参考文献とウェブサイト

Page 4: LET2011: Rによる教育データ分析入門

自己紹介

• 小林 雄一郎 (こばやし ゆういちろう)

– 大阪大学大学院言語文化研究科言語文化専攻(D3)

– 日本学術振興会特別研究員(DC2)

– http://www.geocities.jp/langstat/

• 関心領域• 関心領域

• テキストマイニング、コーパス言語学、自然言語処理、言語統計

4

Page 5: LET2011: Rによる教育データ分析入門

最近の主な研究テーマ

• 日本人英語学習者の英作文をマイニング

– 機械学習を用いた英語習熟度の自動推定

– 日本人英語と母語話者英語の差異の分析

– 様々な母語を持つ学習者のクラスタリング etc. etc.SEM>=38.65 SEM< 38.65

5

FRM>=4.543 BOO>=22.13SEM>=12.67 HED< 5.799

FRM< 4.543 BOO< 22.13SEM< 12.67 HED>=5.799NNS85/4 NS 0/3

NNS7/0 NS 0/5 NNS3/1 NS 5/87

Page 6: LET2011: Rによる教育データ分析入門

Rと統計とわたし

• R・統計(2005年~)

• 統計数理研究所共同利用研究員(2008年~)

• Osaka.R 運営委員(2010年~)

• Rに関するワークショップ

– JACET九州・沖縄支部ESP研究会 Corpus Workshop (2007年10月)

– 英語コーパス学会 (2009年4月)

6

– 英語コーパス学会 (2009年4月)

– Osaka Workshop on Digital Humanities 2010 (2010年3月)

– LETメソドロジー研究部会(2011月7日)

– etc.

• 共著書『言語研究のための統計入門』

(くろしお出版、2010年)

Page 7: LET2011: Rによる教育データ分析入門

Agenda

• 1. 自己紹介

• 2. 統計処理言語R(講義)

• 3. Rを使った成績データの視覚化(実習)

– 基本操作

– データの読み込み

– 統計処理(記述統計)

7

– 統計処理(記述統計)

– グラフ作成(ヒストグラム、箱ひげ図)

• 4. Rを使った成績データの統計処理(実習)

– グラフ作成(散布図)

– 統計処理(回帰、相関、検定)

• 5. Rを使った成績データの多変量解析(デモ)

• 6. Rを学ぶための参考文献とウェブサイト

Page 8: LET2011: Rによる教育データ分析入門

統計処理言語R

• Rとは何か?

– 1990年代前半、オークランド大学のRobert Ihaka氏とRobert

Gentleman氏が開発

– 1997年以降、R Development Core Teamによって、継続的に開発

– 「統計処理」と「グラフィックス」のためのソフトウェア

– フリーで公開

8

– 追加パッケージも充実

– Windows、Mac、Linuxといった様々なOSで動作可能

Page 9: LET2011: Rによる教育データ分析入門

• Rで何ができるのか?

– 様々な数値計算(四則計算から数学関数を使った複雑な計算まで)

– 大量のデータを「ベクトル」として扱うことが可能

– 様々なグラフィック機能を搭載

– 外部ファイル(テキストファイルやExcelファイル)からのデータ読み込み

が可能

9

– SPSS以上に高度な統計処理(多変量解析、データマイニングなど)

→ 何より、計算速度が速い

• Rはどのように操作するのか?

– 基本的な操作は、コンソール画面にコマンドを入力しなくても、GUI画面

のメニュー・バーから実行できるため、ある程度は直感で操作可能

– 複数行にわたるコマンドを入力する際は、R Editorを起動し、右クリック

から「カーソル行または選択中のRコードを実行」を選択

Page 10: LET2011: Rによる教育データ分析入門

• Rはどこから入手できるのか?

– R-project (http://www.r-project.org/) からダウンロード可能

• Rはどうやってインストールするのか?

– ダウンロードしたインストーラ(Windowsの場合、exeファイル)を起動

– 「契約書」に同意し、ひたすら「次へ」

10

– 「契約書」に同意し、ひたすら「次へ」

– 設定によっても異なるが、30~50MBくらいの容量が必要

– 舟尾・高浪 (2005)、ジュールほか (2010) などを参照

Page 11: LET2011: Rによる教育データ分析入門

• 今日のWSで行うこと

– Rの基本操作

– Excelファイルなどで保存されている成績データの視覚化

– 基本的な統計処理

教育データ(成積データ etc.)の処理に特化した内容

11

教育データ(成積データ etc.)の処理に特化した内容

• 今日のWSで行わないこと

– Rに関する体系的な説明

– 高度なプログラミング(行列計算、ループ etc.)に関する説明

– 高度な統計処理(多変量解析、ネットワーク分析 etc.)の実習

– たとえRにとって大事なことでも、(今日扱う)教育データ処理に関係しな

いものは対象外

Page 12: LET2011: Rによる教育データ分析入門

教育データ処理の一般的な流れ

データデータデータデータ収集収集収集収集 テキスト処理テキスト処理テキスト処理テキスト処理 統計処理統計処理統計処理統計処理 質的分析質的分析質的分析質的分析

12

定期試験

英作文

etc.

語彙表の作成

用例の抽出

etc.

検定

多変量解析

etc.

結果の解釈

教育的な考察

etc.

Page 13: LET2011: Rによる教育データ分析入門

Agenda

• 1. 自己紹介

• 2. 統計処理言語R(講義)

• 3. Rを使った成績データの視覚化(実習)

– 基本操作

– データの読み込み

– 統計処理(記述統計)

13

– 統計処理(記述統計)

– グラフ作成(ヒストグラム、箱ひげ図)

• 4. Rを使った成績データの統計処理(実習)

– グラフ作成(散布図)

– 統計処理(回帰、相関、検定)

• 5. Rを使った成績データの多変量解析(デモ)

• 6. Rを学ぶための参考文献とウェブサイト

Page 14: LET2011: Rによる教育データ分析入門

Rの基本操作

• Rの起動

– スタートメニューのプログラム(or デスクトップのアイコン)をクリック

• Rの基本操作

# 四則計算

# 命令(赤字)を入力し、「Enter」を押すと、答え(青字)を返す

14

# 命令(赤字)を入力し、「Enter」を押すと、答え(青字)を返す

#全て半角で入力すること!

# 行頭の > は入力しないこと!

> 1+2

[1] 3

> (2+3)*4/5

[1] 4

Page 15: LET2011: Rによる教育データ分析入門

• データを読み込む(手入力)

# 関数「c」を用いたベクトルの生成

# 「Eng」という名前の変数(=データを入れる箱)に、5人分の英語の点数を入れる

> Eng <- c(76, 90, 84, 65, 70)

# 変数「Eng」の中身を確認

> Eng

[1] 76 90 84 65 70

15

– 関数「c」の名前は、concatenate(鎖状につなぐ)に由来

[1] 76 90 84 65 70

# 【練習問題 1】

# 関数「c」を用いて、以下の10人の点数を、「Math」という名前の変数に入れなさい

# 76点、85点、63点、100点、72点、54点、80点、66点、92点、77点

# そして、Mathの中身を画面に表示しなさい

Page 16: LET2011: Rによる教育データ分析入門

• 記述統計

# 平均

> mean(Math)

[1] 76.5

# 最大値

> max(Math)

[1] 100

# 最小値

16

# 最小値

> min(Math)

[1] 54

# 標準偏差

> sd(Math)

[1] 13.72953

# 要約統計量(最小値、下側25%点、中央値(50%点)、平均値、上側25%点、最大値)

> summary(Math)

Min. 1st Qu. Median Mean 3rd Qu. Max.

54.00 67.50 76.50 76.50 83.75 100.00

# その他、sum(総和)、var(不偏分散)など

Page 17: LET2011: Rによる教育データ分析入門

Rを使った成績データの視覚化

• データを読み込む(Excelファイルから)

– たくさんのデータ(あるいは、その一部だけ)を簡単に読み込むには?

– 例として、「得点サンプルA」を使用

– 800人分の成績データ(クラス、性別、学部の情報つき)

# クリップボード経由で読み込む(Windowsのみ)

# 読み込みたい範囲をマウスで指定し、キーボードの「Ctrl」+「C」でコピーしてから

17

# 読み込みたい範囲をマウスで指定し、キーボードの「Ctrl」+「C」でコピーしてから

> dat001 <- read.delim("clipboard")

# (大きいデータなので)データの最初の部分だけを表示

> head(dat001)

student class sex faculty score

1 S001 1 M A 72

2 S002 1 F A 94

3 S003 1 M A 90

4 S004 1 F A 88

5 S005 1 F A 70

6 S006 1 M A 82

Macでは、

read.delim(pipe(“pbpaste”))

Page 18: LET2011: Rによる教育データ分析入門

• データの全体像をざっくりと把握する

# 要約統計量(データの5列目、つまりは、scoreだけを対象にする)

> summary(dat001[,5])

Min. 1st Qu. Median Mean 3rd Qu. Max.

32.00 54.00 65.00 64.06 73.00 98.00

# ヒストグラム

> hist(dat001[,5])

18

> hist(dat001[,5])

# ヒストグラムのデザインやラベルを指定

> hist(dat001[,5], col="red", xlab="students",

ylab="score", main="Test", xlim=c(0, 100))

【引数(ひきすう)】

� col: グラフの色

� xlab: X軸(横軸)のラベル

� ylab: Y軸(縦軸)のラベル

� main: グラフのタイトル

� xlim: X軸の目盛の範囲

* 画像を保存するには、Graphic windowの「ファイル」→「別名で保存」

Page 19: LET2011: Rによる教育データ分析入門

• 一部のデータだけを分析する

– 例として、1組だけを対象とする

# 元のファイルを見ると、最初の28人( S001~S028 )が1組であることに注目

# 要約統計量(1組 (1~28行目)のscore (5列目)だけを対象とする)

# Rでは、[行, 列]という形式でデータを指定(指定しなければ、全データが対象)

# 1組の平均

19

# 1組の平均

> mean(dat001[1:28,5])

[1] 81.39286

# ヒストグラム

> hist(dat001[1:28,5], col="blue", xlab="students",

ylab="score", main="Class 1", xlim=c(0, 100))

# 【練習問題 2】同様の手順で、2組の点数を

ヒストグラムにしなさい。また、2組の点数の

最大値を求めなさい。

Page 20: LET2011: Rによる教育データ分析入門

• クラス間の差を視覚化する

– 箱ひげ図 (boxplot) を用いる

# 関数「split」を使って、成績をクラス別に集計

# split(元のデータ名[[点数の入った列数]], 元のデータ名[[調べたい項目の列数]])

> class.dat <- split(dat001[[5]], dat001[[2]])

#クラス別に集計した結果を表示

> class.dat

20

> class.dat

(省略)

#箱ひげ図で視覚化

> boxplot(class.dat)

#箱ひげ図のデザインを修正

> boxplot(class.dat, col="green", ylim=c(0, 100), xlab="class", ylab="score")

【引数】

� col: グラフの色

� ylim: Y軸の目盛の範囲

� xlab: X軸(横軸)のラベル

� ylab: Y軸(縦軸)のラベル

Page 21: LET2011: Rによる教育データ分析入門

• クラス間の差を視覚化する(続き)

21

Page 22: LET2011: Rによる教育データ分析入門

• 【補足】箱ひげ図の見方

# 【練習問題 3】同様の手順で、成績を学部別に集計しなさい

# splitした結果は、class.datに上書きせずに、faculty.datという変数に入れること

# ヒント:学部は、元のデータの何列目にあるか?

箱ひげ図 (boxplot)

22

Page 23: LET2011: Rによる教育データ分析入門

• 【発展編】箱ひげ図を並びかえる

– 中央値の順に、クラスを並びかえたい

# 箱ひげ図の並びかえ(中央値で)

# 「sort.list」は、リストを並べかえる関数

# 「sapply」は、複数のデータに対して関数を適用する関数

> boxplot(class.dat[sort.list(sapply(class.dat, median))])

# 箱ひげ図のデザインの修正

23

# 箱ひげ図のデザインの修正

> boxplot(class.dat[sort.list(sapply(class.dat, median))], col="green", ylim=c(0, 100),

xlab="class", ylab="score")

Page 24: LET2011: Rによる教育データ分析入門

• 関数「sapply」を使って、クラス別の記述統計を見る

# クラスごとの学生数(=ベクトルの長さ)

# 結果の1行目は、クラス名

> sapply(class.dat, length)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

28 29 27 34 34 36 38 46 44 46 53 54 46 46 46 47 46 44 46 10

# クラスごとの最高点

24

# クラスごとの最高点

> sapply(class.dat, max)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

96 98 96 96 96 84 78 78 78 78 78 78 78 78 77 78 78 78 78 98

# クラスごとの最低点

> sapply(class.dat, min)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

52 36 48 32 32 47 46 45 45 45 45 45 45 45 45 45 45 45 45 48

# その他、平均 (mean)、標準偏差 (sd)、要約統計量 (summary) などが使用可能

Page 25: LET2011: Rによる教育データ分析入門

Agenda

• 1. 自己紹介

• 2. 統計処理言語R(講義)

• 3. Rを使った成績データの視覚化(実習)

– 基本操作

– データの読み込み

– 統計処理(記述統計)

25

– 統計処理(記述統計)

– グラフ作成(ヒストグラム、箱ひげ図)

• 4. Rを使った成績データの統計処理(実習)

– グラフ作成(散布図)

– 統計処理(回帰、相関、検定)

• 5. Rを使った成績データの多変量解析(デモ)

• 6. Rを学ぶための参考文献とウェブサイト

Page 26: LET2011: Rによる教育データ分析入門

Rを使った成績データの統計処理

• 2つのテストの結果について調査する

– 中間テストと期末テストの点数、国語と英語の点数の関係 etc.

– 例として、「得点サンプルB」を使用

– 50人の学生によるテスト2回分のデータ

# クリップボード経由で読み込む(Windowsのみ)

# 読み込みたい範囲をマウスで指定し、キーボードの「Ctrl」+「C」でコピーしてから

26

# 読み込みたい範囲をマウスで指定し、キーボードの「Ctrl」+「C」でコピーしてから

> dat002 <- read.delim("clipboard")

# テストA(=2列目)のデータだけを抜き出す

> test.A <- dat002[,2]

#テストB(=3列目)のデータだけを抜き出す

> test.B <- dat002[,3]

Page 27: LET2011: Rによる教育データ分析入門

• 散布図を描く

# 散布図

> plot(test.A, test.B)

# 散布図のデザインを修正する

> plot(test.A, test.B, xlim=c(0, 100), ylim=c(0, 100))

# 関数「abline」を使って、各テストの平均点の位置に点線 (lty=3) を引く

# vはvertical、hはhorizontalの略

27

# vはvertical、hはhorizontalの略

> abline(v=mean(test.A), h=mean(test.B), lty=3)

#関数「lm」(=linear model)を使って、回帰分析

> lm(test.B ~ test.A)

# 「lm」と「abline」を組み合わせて、回帰直線を引く

> abline(lm(test.B ~ test.A), col="red")

Page 28: LET2011: Rによる教育データ分析入門

• 2つのテストの相関を調べる

# Pearsonの積率相関係数

# 関数「cor」の引数methodをpearsonにする

> cor(test.A, test.B, method="pearson")

[1] 0.7616083

# 「cor」の引数methodをspearmanにすると、Spearmanの順位相関係数

28

# 「cor」の引数methodをspearmanにすると、Spearmanの順位相関係数

# 【練習問題 4】

# test.Aとtest.Bのデータを使って、Spearmanの順位相関係数を求めなさい

Page 29: LET2011: Rによる教育データ分析入門

• 2つのテストの差を調べる

– t検定(平均値に差があるか、という検定)

# t検定(等分散を仮定)

> t.test(test.A, test.B, var.equal=T)

Two Sample t-test

29

data: test.A and test.B

t = 1.0401, df = 98, p-value = 0.3008

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

-3.177805 10.177805

sample estimates:

mean of x mean of y

63.8 60.3

# 等分散を仮定しない場合(Welchの方法)は、var.equal=F

# その他、wilcox.test(Wilcoxonの順位和検定)など

Page 30: LET2011: Rによる教育データ分析入門

• 「得点サンプルC」で復習

– 30人の学生によるテスト2回分のデータ

# クリップボード経由で読み込む(Windowsのみ)

> dat003 <- read.delim("clipboard")

# テストC(=2列目)のデータだけを抜き出す

> test.C <- dat003[,2]

#テストD(=3列目)のデータだけを抜き出す

30

#テストD(=3列目)のデータだけを抜き出す

> test.D <- dat003[,3]

# 【練習問題 5】

# test.Cとtest.Dのデータを使って散布図を描き、その上に回帰直線を引きなさい

# 【練習問題 6】

# test.Cとtest.Dのデータを使って、Pearsonの積率相関係数を求めなさい

# 【練習問題 7】

# test.Cとtest.Dのデータに対して、(等分散を仮定する)t検定を実行しなさい

Page 31: LET2011: Rによる教育データ分析入門

Agenda

• 1. 自己紹介

• 2. 統計処理言語R(講義)

• 3. Rを使った成績データの視覚化(実習)

– 基本操作

– データの読み込み

– 統計処理(記述統計)

31

– 統計処理(記述統計)

– グラフ作成(ヒストグラム、箱ひげ図)

• 4. Rを使った成績データの統計処理(実習)

– グラフ作成(散布図)

– 統計処理(回帰、相関、検定)

• 5. Rを使った成績データの多変量解析(デモ)

• 6. Rを学ぶための参考文献とウェブサイト

Page 32: LET2011: Rによる教育データ分析入門

Rを使った成績データの多変量解析

• 多変量解析とは

– 大量のデータ(多数の事物や変数)を分類、整理、縮約することで、

データの全体像を掴んだり、事物の間に潜む相互関係や、変数間の相

互関係、さらには事物と変数の間の複雑な相互関係を顕在化させるた

めの統計手法の総称

– 多数の個体(学生、教科、定期試験など)が多項目の変数(アンケート

項目に対する回答、テストの点数など)に関して示す振る舞い(反応)を

32

項目に対する回答、テストの点数など)に関して示す振る舞い(反応)を

分析する手法

– 因子分析、主成分分析、対応分析、クラスター分析、多次元尺度法、

判別分析、重回帰分析、独立成分分析、など

• ここで紹介する手法

– 因子分析

– クラスター分析

ここからは、

少し高度な手法のデモ

Page 33: LET2011: Rによる教育データ分析入門

• 因子分析

– 複数の変数間の関係を探る手法

– 変数の間の相関関係から共通因子を求めることで、多くの変数を少数

個の共通因子にまとめて説明することを目的とする

– (例)5教科(国語、英語、社会、数学、理科)それぞれの教科の間に何

らかの関係はあるのか?

33

– 「得点サンプルD」(7人分の成績データ)を使用

変数

xi1=国語

xi2=英語

xi3=社会

xi4=数学

xi5=理科

共通因子独自因子

ei1

ei2

ei3

ei4

ei5

fi1=文系

fi2=理系

Page 34: LET2011: Rによる教育データ分析入門

• 因子分析(続き)

#クリップボード経由で読み込む(Windowsのみ)

# 読み込みたい範囲をマウスで指定し、キーボードの「Ctrl」+「C」でコピーしてから

> dat004 <- read.delim("clipboard")

# データの表示

> dat004

Student 国語英語社会数学理科

1 S001 67 46 50 89 90

34

1 S001 67 46 50 89 90

2 S002 80 85 90 57 70

3 S003 35 40 50 80 90

4 S004 50 45 55 40 60

5 S005 45 55 60 78 85

6 S006 80 75 85 55 65

7 S007 88 92 95 90 85

# 因子分析の実行(ここでの因子の数は2とする)

# dat004の数値部分(=2~6列目)だけを指定する

> fa.result<-factanal(dat004[,2:6], factor=2)

Page 35: LET2011: Rによる教育データ分析入門

• 因子分析(続き)

#因子分析の結果の表示

>fa.result

Call:

factanal(x = dat004[, 2:6], factors = 2)

Uniquenesses:

書式を呼び出す

独立因子

35

Uniquenesses:

国語 英語 社会 数学 理科

0.241 0.005 0.006 0.005 0.029

Loadings:

Factor1 Factor2

国語 0.871

英語 0.997

社会 0.989 -0.128

数学 0.997

理科 -0.188 0.967

因子負荷量

Page 36: LET2011: Rによる教育データ分析入門

• 因子分析(続き)

#因子分析の結果の表示(続き)

Factor1 Factor2

SS loadings 2.768 1.946

Proportion Var 0.554 0.389

Cumulative Var 0.554 0.943

寄与度・寄与率・累積寄与率

元のデータの分散とモデルによる

分散との検定統計量

36

– 因子分析では因子の数をいくつにするかが問題となるが、この分析にお

ける「因子数=2は妥当」(Test of the hypothesis that 2 factors are

sufficient)

Test of the hypothesis that 2 factors are sufficient.

The chi square statistic is 1.73 on 1 degree of freedom.

The p-value is 0.188

Page 37: LET2011: Rによる教育データ分析入門

• 因子分析(続き)

#因子の解釈

> barplot(fa.result$loading[,1])

> barplot(fa.result$loading[,2])

第1因子 第2因子

37

第1因子

文系

第2因子

理系

Page 38: LET2011: Rによる教育データ分析入門

• 因子分析(続き)

#バリマックス回転

> fa.result2<-factanal(dat004[,2:6], factor=2, scores="regression")

#結果の視覚化

> biplot(fa.result2$scores, fa.result2$loading)

38

Page 39: LET2011: Rによる教育データ分析入門

• クラスター分析(階層型クラスター分析)

– 個体間の類似度(あるいは、非類似度)に基づいて、最も似ている個体

から順次にクラスター(グループ)を作っていく手法

– 因子分析と同じデータを使用

# 個体間の距離(ユークリッド距離)を求める

> euclid.dist<-dist(dat004[,2:6])

39

> euclid.dist<-dist(dat004[,2:6])

# 見やすくするために、小数点を丸める

> round(euclid.dist)

1 2 3 4 5 6

2 69

3 34 81

4 60 64 53

5 28 61 21 47

6 63 12 76 54 56

7 68 38 88 92 68 46

Page 40: LET2011: Rによる教育データ分析入門

• クラスター分析(続き)

# クラスター分析の実行(ウォード法を使用)

# 「hang=-1」は、省略可能(若干、樹木図のデザインが変わる)

> plot(hclust(euclid.dist, "ward"), hang=-1)

【引数】

� single: 最近隣法

40

� single: 最近隣法

� complete: 最遠隣法

� average: 群平均法

� centroid: 重心法

� median: メディアン法

� ward: ウォード法

etc. etc.

* 距離も、ユークリッド距離以外に、キャンベラ

距離なども使用可能

クラスター分析の結果を見ると、左側のクラス

ター (7, 2, 6) と右側のクラスター (4, 1, 3, 5) は、

先ほどの因子分析の結果における横軸の位

置と対応している

Page 41: LET2011: Rによる教育データ分析入門

Agenda

• 1. 自己紹介

• 2. 統計処理言語R(講義)

• 3. Rを使った成績データの視覚化(実習)

– 基本操作

– データの読み込み

– 統計処理(記述統計)

41

– 統計処理(記述統計)

– グラフ作成(ヒストグラム、箱ひげ図)

• 4. Rを使った成績データの統計処理(実習)

– グラフ作成(散布図)

– 統計処理(回帰、相関、検定)

• 5. Rを使った成績データの多変量解析(デモ)

• 6. Rを学ぶための参考文献とウェブサイト

Page 42: LET2011: Rによる教育データ分析入門

参考文献

• インストールからプログラミングまで

42

A. ジュール、E. イエノウ、E.

ミーターズ (2010). 『R初心者

のためのABC』 シュプリン

ガー・ジャパン.

舟尾暢男、高浪洋平 (2005).

『データ解析環境「R」』 工学

社.

U. リゲス (2006). 『Rの基礎

とプログラミング技法』シュプ

リンガー・ジャパン.

Page 43: LET2011: Rによる教育データ分析入門

• Rによる統計処理

43

山田剛史、杉澤武俊、村井潤

一郎 (2008). 『Rによるやさし

い統計学』 オーム社.

青木繁伸 (2009). 『Rによる統

計解析』 オーム社.

金明哲 (2007). 『Rによる

データサイエンス』 森北出版.

Page 44: LET2011: Rによる教育データ分析入門

• Rによる言語データ解析

44

Gries, S. Th. (2009).

Statistics for linguistics

with R. Berlin: Mouton.

Gries, S. Th. (2009).

Quantitative corpus linguistics

with R: A practical introduction.

New York: Routledge.

Johnson, K. (2008).

Quantitative methods in

linguistics. Oxford:

Blackwell.

Page 45: LET2011: Rによる教育データ分析入門

参考ウェブサイト

• The R Project for Statistical Computing (Rの公式サイト)

– http://www.r-project.org/

• RjpWiki (Rユーザーのための掲示板)

– http://www.okada.jp.org/RWiki/

• 統計処理ソフトウェアRについてのTips

– http://phi.med.gunma-u.ac.jp/swtips/R.html

45

– http://phi.med.gunma-u.ac.jp/swtips/R.html

• 統計解析R Tips-統計解析ソフトRの備忘録 (PDF資料)

– http://www.is.titech.ac.jp/~shimo/class/doc/r-tips.pdf

• R-introduction(日本語版)

• http://cran.r-project.org/doc/contrib/manuals-jp/R-intro-

170.jp.pdf

• その他、日本各地のRコミュニティのサイト

– Tokyo.R、Tsukuba.R、Nagoya.R、Osaka.R、Hiroshma.R etc.

Page 46: LET2011: Rによる教育データ分析入門

練習問題の解答

# 【練習問題 1】の答え

> Math <- c(76, 85, 63, 100, 72, 54, 80, 66, 92, 77)

> Math

[1] 76 85 63 100 72 54 80 66 92 77

# 【練習問題 2】の答え

# dat001に「得点サンプルA」の全データが入っている状態で

# 2組のヒストグラム

46

# 2

> hist(dat001[29:57,5], col="blue", xlab="students",

ylab="score", main="Class 2", xlim=c(0, 100))

# 2組の最大値

> max(dat001[29:57,5])

[1] 98

Page 47: LET2011: Rによる教育データ分析入門

# 【練習問題 3】の答え

# dat001に「得点サンプルA」の全データが入っている状態で

# 学部別に成績を集計

> faculty.dat <- split(dat001[[5]], dat001[[4]])

#箱ひげ図

> boxplot(faculty.dat, col="green", ylim=c(0, 100), xlab=“faculty", ylab="score")

47

Page 48: LET2011: Rによる教育データ分析入門

# 【練習問題 4】の答え

# Spearmanの積率相関係数

# 関数「cor」の引数methodをspearmanにする

> cor(test.A, test.B, method=“spearman")

[1] 0.7275546

# 【練習問題 5】の答え

# 散布図

48

#

> plot(test.C, test.D, xlim=c(0, 100), ylim=c(0, 100))

# 関数「lm」と「abline」を使って、回帰直線を引く

> abline(lm(test.C ~ test.D), col="red")

Page 49: LET2011: Rによる教育データ分析入門

# 【練習問題 6】の答え

# Pearsonの積率相関係数

# 関数「cor」の引数methodをpearsonにする

> cor(test.C, test.D, method="pearson")

[1] 0.7170527

# 【練習問題 7】の答え

# t検定(等分散を仮定)

49

# t

> t.test(test.C, test.D, var.equal=T)

Two Sample t-test

data: test.C and test.D

t = -3.1022, df = 58, p-value = 0.002966

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

-19.63336 -4.23331

sample estimates:

mean of x mean of y

57.83333 69.76667

Page 50: LET2011: Rによる教育データ分析入門

ご清聴ありがとうございました。

[email protected]

http://www.geocities.jp/langstat/

50