View
6.948
Download
4
Category
Preview:
Citation preview
Rによる教育データ分析入門
小林雄一郎
(大阪大学大学院/日本学術振興会)
外国語教育メディア学会 (LET) 2011年大会 WS
於 名古屋学院大学
2011年8月6日(土)
1
Agenda
• 1. 自己紹介
• 2. 統計処理言語R(講義)
• 3. Rを使った成績データの視覚化(実習)
– 基本操作
– データの読み込み
– 統計処理(記述統計)
2
– 統計処理(記述統計)
– グラフ作成(ヒストグラム、箱ひげ図)
• 4. Rを使った成績データの統計処理(実習)
– グラフ作成(散布図)
– 統計処理(回帰、相関、検定)
• 5. Rを使った成績データの多変量解析(デモ)
• 6. Rを学ぶための参考文献とウェブサイト
Agenda
• 1. 自己紹介
• 2. 統計処理言語R(講義)
• 3. Rを使った成績データの視覚化(実習)
– 基本操作
– データの読み込み
– 統計処理(記述統計)
3
– 統計処理(記述統計)
– グラフ作成(ヒストグラム、箱ひげ図)
• 4. Rを使った成績データの統計処理(実習)
– グラフ作成(散布図)
– 統計処理(回帰、相関、検定)
• 5. Rを使った成績データの多変量解析(デモ)
• 6. Rを学ぶための参考文献とウェブサイト
自己紹介
• 小林 雄一郎 (こばやし ゆういちろう)
– 大阪大学大学院言語文化研究科言語文化専攻(D3)
– 日本学術振興会特別研究員(DC2)
– http://www.geocities.jp/langstat/
• 関心領域• 関心領域
• テキストマイニング、コーパス言語学、自然言語処理、言語統計
4
最近の主な研究テーマ
• 日本人英語学習者の英作文をマイニング
– 機械学習を用いた英語習熟度の自動推定
– 日本人英語と母語話者英語の差異の分析
– 様々な母語を持つ学習者のクラスタリング 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
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年)
Agenda
• 1. 自己紹介
• 2. 統計処理言語R(講義)
• 3. Rを使った成績データの視覚化(実習)
– 基本操作
– データの読み込み
– 統計処理(記述統計)
7
– 統計処理(記述統計)
– グラフ作成(ヒストグラム、箱ひげ図)
• 4. Rを使った成績データの統計処理(実習)
– グラフ作成(散布図)
– 統計処理(回帰、相関、検定)
• 5. Rを使った成績データの多変量解析(デモ)
• 6. Rを学ぶための参考文献とウェブサイト
統計処理言語R
• Rとは何か?
– 1990年代前半、オークランド大学のRobert Ihaka氏とRobert
Gentleman氏が開発
– 1997年以降、R Development Core Teamによって、継続的に開発
– 「統計処理」と「グラフィックス」のためのソフトウェア
– フリーで公開
8
– 追加パッケージも充実
– Windows、Mac、Linuxといった様々なOSで動作可能
• Rで何ができるのか?
– 様々な数値計算(四則計算から数学関数を使った複雑な計算まで)
– 大量のデータを「ベクトル」として扱うことが可能
– 様々なグラフィック機能を搭載
– 外部ファイル(テキストファイルやExcelファイル)からのデータ読み込み
が可能
9
– SPSS以上に高度な統計処理(多変量解析、データマイニングなど)
→ 何より、計算速度が速い
• Rはどのように操作するのか?
– 基本的な操作は、コンソール画面にコマンドを入力しなくても、GUI画面
のメニュー・バーから実行できるため、ある程度は直感で操作可能
– 複数行にわたるコマンドを入力する際は、R Editorを起動し、右クリック
から「カーソル行または選択中のRコードを実行」を選択
• Rはどこから入手できるのか?
– R-project (http://www.r-project.org/) からダウンロード可能
• Rはどうやってインストールするのか?
– ダウンロードしたインストーラ(Windowsの場合、exeファイル)を起動
– 「契約書」に同意し、ひたすら「次へ」
10
– 「契約書」に同意し、ひたすら「次へ」
– 設定によっても異なるが、30~50MBくらいの容量が必要
– 舟尾・高浪 (2005)、ジュールほか (2010) などを参照
• 今日のWSで行うこと
– Rの基本操作
– Excelファイルなどで保存されている成績データの視覚化
– 基本的な統計処理
↓
教育データ(成積データ etc.)の処理に特化した内容
11
教育データ(成積データ etc.)の処理に特化した内容
• 今日のWSで行わないこと
– Rに関する体系的な説明
– 高度なプログラミング(行列計算、ループ etc.)に関する説明
– 高度な統計処理(多変量解析、ネットワーク分析 etc.)の実習
↓
– たとえRにとって大事なことでも、(今日扱う)教育データ処理に関係しな
いものは対象外
教育データ処理の一般的な流れ
データデータデータデータ収集収集収集収集 テキスト処理テキスト処理テキスト処理テキスト処理 統計処理統計処理統計処理統計処理 質的分析質的分析質的分析質的分析
12
定期試験
英作文
etc.
語彙表の作成
用例の抽出
etc.
検定
多変量解析
etc.
結果の解釈
教育的な考察
etc.
Agenda
• 1. 自己紹介
• 2. 統計処理言語R(講義)
• 3. Rを使った成績データの視覚化(実習)
– 基本操作
– データの読み込み
– 統計処理(記述統計)
13
– 統計処理(記述統計)
– グラフ作成(ヒストグラム、箱ひげ図)
• 4. Rを使った成績データの統計処理(実習)
– グラフ作成(散布図)
– 統計処理(回帰、相関、検定)
• 5. Rを使った成績データの多変量解析(デモ)
• 6. Rを学ぶための参考文献とウェブサイト
Rの基本操作
• Rの起動
– スタートメニューのプログラム(or デスクトップのアイコン)をクリック
• Rの基本操作
# 四則計算
# 命令(赤字)を入力し、「Enter」を押すと、答え(青字)を返す
14
# 命令(赤字)を入力し、「Enter」を押すと、答え(青字)を返す
#全て半角で入力すること!
# 行頭の > は入力しないこと!
> 1+2
[1] 3
> (2+3)*4/5
[1] 4
• データを読み込む(手入力)
# 関数「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の中身を画面に表示しなさい
• 記述統計
# 平均
> 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(不偏分散)など
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”))
• データの全体像をざっくりと把握する
# 要約統計量(データの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の「ファイル」→「別名で保存」
• 一部のデータだけを分析する
– 例として、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組の点数の
最大値を求めなさい。
• クラス間の差を視覚化する
– 箱ひげ図 (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軸(縦軸)のラベル
• クラス間の差を視覚化する(続き)
21
• 【補足】箱ひげ図の見方
# 【練習問題 3】同様の手順で、成績を学部別に集計しなさい
# splitした結果は、class.datに上書きせずに、faculty.datという変数に入れること
# ヒント:学部は、元のデータの何列目にあるか?
箱ひげ図 (boxplot)
22
• 【発展編】箱ひげ図を並びかえる
– 中央値の順に、クラスを並びかえたい
# 箱ひげ図の並びかえ(中央値で)
# 「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")
• 関数「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) などが使用可能
Agenda
• 1. 自己紹介
• 2. 統計処理言語R(講義)
• 3. Rを使った成績データの視覚化(実習)
– 基本操作
– データの読み込み
– 統計処理(記述統計)
25
– 統計処理(記述統計)
– グラフ作成(ヒストグラム、箱ひげ図)
• 4. Rを使った成績データの統計処理(実習)
– グラフ作成(散布図)
– 統計処理(回帰、相関、検定)
• 5. Rを使った成績データの多変量解析(デモ)
• 6. 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]
• 散布図を描く
# 散布図
> 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")
• 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の順位相関係数を求めなさい
• 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の順位和検定)など
• 「得点サンプル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検定を実行しなさい
Agenda
• 1. 自己紹介
• 2. 統計処理言語R(講義)
• 3. Rを使った成績データの視覚化(実習)
– 基本操作
– データの読み込み
– 統計処理(記述統計)
31
– 統計処理(記述統計)
– グラフ作成(ヒストグラム、箱ひげ図)
• 4. Rを使った成績データの統計処理(実習)
– グラフ作成(散布図)
– 統計処理(回帰、相関、検定)
• 5. Rを使った成績データの多変量解析(デモ)
• 6. Rを学ぶための参考文献とウェブサイト
Rを使った成績データの多変量解析
• 多変量解析とは
– 大量のデータ(多数の事物や変数)を分類、整理、縮約することで、
データの全体像を掴んだり、事物の間に潜む相互関係や、変数間の相
互関係、さらには事物と変数の間の複雑な相互関係を顕在化させるた
めの統計手法の総称
– 多数の個体(学生、教科、定期試験など)が多項目の変数(アンケート
項目に対する回答、テストの点数など)に関して示す振る舞い(反応)を
32
項目に対する回答、テストの点数など)に関して示す振る舞い(反応)を
分析する手法
– 因子分析、主成分分析、対応分析、クラスター分析、多次元尺度法、
判別分析、重回帰分析、独立成分分析、など
• ここで紹介する手法
– 因子分析
– クラスター分析
ここからは、
少し高度な手法のデモ
• 因子分析
– 複数の変数間の関係を探る手法
– 変数の間の相関関係から共通因子を求めることで、多くの変数を少数
個の共通因子にまとめて説明することを目的とする
– (例)5教科(国語、英語、社会、数学、理科)それぞれの教科の間に何
らかの関係はあるのか?
–
33
– 「得点サンプルD」(7人分の成績データ)を使用
変数
xi1=国語
xi2=英語
xi3=社会
xi4=数学
xi5=理科
共通因子独自因子
ei1
ei2
ei3
ei4
ei5
fi1=文系
fi2=理系
• 因子分析(続き)
#クリップボード経由で読み込む(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)
• 因子分析(続き)
#因子分析の結果の表示
>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
因子負荷量
• 因子分析(続き)
#因子分析の結果の表示(続き)
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
• 因子分析(続き)
#因子の解釈
> barplot(fa.result$loading[,1])
> barplot(fa.result$loading[,2])
第1因子 第2因子
37
第1因子
文系
第2因子
理系
• 因子分析(続き)
#バリマックス回転
> fa.result2<-factanal(dat004[,2:6], factor=2, scores="regression")
#結果の視覚化
> biplot(fa.result2$scores, fa.result2$loading)
38
• クラスター分析(階層型クラスター分析)
– 個体間の類似度(あるいは、非類似度)に基づいて、最も似ている個体
から順次にクラスター(グループ)を作っていく手法
– 因子分析と同じデータを使用
# 個体間の距離(ユークリッド距離)を求める
> 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
• クラスター分析(続き)
# クラスター分析の実行(ウォード法を使用)
# 「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) は、
先ほどの因子分析の結果における横軸の位
置と対応している
Agenda
• 1. 自己紹介
• 2. 統計処理言語R(講義)
• 3. Rを使った成績データの視覚化(実習)
– 基本操作
– データの読み込み
– 統計処理(記述統計)
41
– 統計処理(記述統計)
– グラフ作成(ヒストグラム、箱ひげ図)
• 4. Rを使った成績データの統計処理(実習)
– グラフ作成(散布図)
– 統計処理(回帰、相関、検定)
• 5. Rを使った成績データの多変量解析(デモ)
• 6. Rを学ぶための参考文献とウェブサイト
参考文献
• インストールからプログラミングまで
42
A. ジュール、E. イエノウ、E.
ミーターズ (2010). 『R初心者
のためのABC』 シュプリン
ガー・ジャパン.
舟尾暢男、高浪洋平 (2005).
『データ解析環境「R」』 工学
社.
U. リゲス (2006). 『Rの基礎
とプログラミング技法』シュプ
リンガー・ジャパン.
• Rによる統計処理
43
山田剛史、杉澤武俊、村井潤
一郎 (2008). 『Rによるやさし
い統計学』 オーム社.
青木繁伸 (2009). 『Rによる統
計解析』 オーム社.
金明哲 (2007). 『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.
参考ウェブサイト
• 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.
練習問題の解答
# 【練習問題 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
# 【練習問題 3】の答え
# dat001に「得点サンプルA」の全データが入っている状態で
# 学部別に成績を集計
> faculty.dat <- split(dat001[[5]], dat001[[4]])
#箱ひげ図
> boxplot(faculty.dat, col="green", ylim=c(0, 100), xlab=“faculty", ylab="score")
47
# 【練習問題 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")
# 【練習問題 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
ご清聴ありがとうございました。
kobayashi0721@gmail.com
http://www.geocities.jp/langstat/
50
Recommended