科学の箱

科学・IT・登山の話題

R

Rによるやさしい統計学/7-分散分析

投稿日:

(1)学部によりテストの結果に有意な差があるかを調べる。

データはcsv形式で作成し、7_1_test_score.csvとする。以下はデータの内容。

法学部,文学部,理学部,工学部
75,62,65,52
61,60,60,59
68,66,78,44
58,63,52,67
66,55,59,47
55,53,66,53
65,59,73,58
63,63,64,49

Rに読み込む

score <- read.csv(file="7_1_test_score.csv", head=TRUE)

分散分析で利用するためにデータを変換する。

w_score$point <- c(score[,1], score[,2], score[,3], score[,4])
w_score$major <- c(rep("j", 8), rep("l", 8), rep("s",8), rep("i",8))
w_score$major <- factor(w_score$major)

変換したデータについて確認する

> w_score$point
 [1] 75 61 68 58 66 55 65 63 62 60 66 63 55 53 59 63 65 60 78 52 59 66 73 64 52 59 44 67 47 53
[31] 58 49
> w_score$major
 [1] j j j j j j j j l l l l l l l l s s s s s s s s i i i i i i i i
Levels: i j l s

帰無仮説は学部によりテストのポイントに差はない。対立仮説は一つ以上の組み合わせで学部によりテストのポイントに差があるとする。

oneway.testを利用した1要因の分散分析を実行する。

> oneway.test(w_score$point ~ w_score$major, var.equal=TRUE)

        One-way analysis of means

data:  w_score$point and w_score$major 
F = 4.515, num df = 3, denom df = 28, p-value = 0.01052

ここでは分散が等質であることを仮定している。F値は4.515となった。自由度3/28であるときのp値は0.01052である。有意水準5%で帰無仮説が棄却される。よってテストのポイントは学部によって差がある。

aov()を使用してみる。

> w_score$aov<-aov(w_score$point ~ w_score$major)
> summary(w_score$aov)
              Df Sum Sq Mean Sq F value Pr(>F)  
w_score$major  3  606.4  202.12   4.515 0.0105 *
Residuals     28 1253.5   44.77

anova()を利用してみる

> w_score$anova <- anova(lm(w_score$point ~ w_score$major))
> w_score$anova
Analysis of Variance Table

Response: w_score$point
              Df  Sum Sq Mean Sq F value  Pr(>F)  
w_score$major  3  606.37 202.125   4.515 0.01052 *
Residuals     28 1253.50  44.768                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’

メタ情報

inarticle



メタ情報

inarticle



-R
-

執筆者:


  1. foo-bar-baz より:

    データの準備は,
    score2 <- stack(score)
    score2
    とすると,簡単です。

  2. admin より:

    ありがとうございます!こんな便利な関数があったのですね。

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

分散分析のcase study

分散分析についてcase studyをしてみる。目的はRで分散分析を実行する際の手順を明確にすること、およびそれに付随するRの関数を理解することである。 目標として以下をあげておく テストデータを含め …

no image

splineを利用する

データが連続していない時には、となりあうデータを使ってその間の値を予測できる。簡単な例では1と2という値があり、この間を一つの値で補完すると1.5となる。補間する値を増やしていけば滑らかな曲線になる。 …

no image

Rで日付データをhistgramで表示するときのポイント

Rでヒストグラムはhist()関数を使って描画する。この時与えるデータによりブレーク引数が異なることがわかった。 まず下記がデフォルトのhist()関数のヘルプである。 hist(x, breaks …

no image

R – ElemStatLearn – Coutries

データの概要 国ごとの相違を距離で表しているクロス表 > dim(countries) [1] 12 12 > names(countries) NULL > str(countri …

no image

oneway.test, aov, anovaの違い-2

さてoneway.test, aov, anovaの違いをもとにしてそれぞれの関数について調べてみる。 機能 advantage disadvantage oneway.test 分散分析 等分散を仮 …

2014年5月
« 4月   6月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

side bar top



アーカイブ

カテゴリー