#要因の組み合わせの各平均値とSDを求めるtapply(score,list(fm,fa),mean)
tapply(score,list(fm,fa),sd)
#2要因の分散分析(2要因とも被験者間要因)
data.ex=read.csv("Table821.csv",header=T)
data.ex
attach(data.ex)
#要因(独立変数)として指定
fm <- factor(method)
fa <- factor(anxiety)
#関数 aov(従属変数~要因1*要因2,データ)
aov.ex=aov(score~fm*fa,data.ex)
summary(aov.ex)
#以下、参考)交互作用が有意な場合の単純主効果
# 高不安群のみ取り出して検定(一要因分散分析)
# data.ex から 変数anxietyの値が"H"の行のみ取り出す
#行のみの指定 [変数=="条件の値",] 最後の ,を忘れずに
#新たなデータ dataHを作る
dataH <- data.ex[data.ex$anxiety=="H",]
#独立変数を、改めて新しいデータセットの中で指定する
aovH=aov(score~factor(dataH$method),dataH)
summary(aovH)
#次に低不安群で検定
dataL <- data.ex[data.ex$anxiety=="L",]
dataL
aovL=aov(score~factor(dataL$method),dataL)
summary(aovL)
#低不安群の多重比較
# Holmの方法による多重比較の場合
pairwise.t.test(score,method,data=dataL,p.adj = "holm")
#図示 算出しておいた平均値を使う
data <- cbind(
m1=c(28.2,47.0),
m2=c(33.6,36.6),
m3=c(34.2,28.2)
)
#棒グラフを並べる
barplot(data,beside=TRUE)
#以下、応用
#標準誤差を使ってエラーバーをつける準備
datase <- cbind(
m1se=c(3.35/sqrt(5),4.64/sqrt(5)),
m2se=c(5.18/sqrt(5),2.70/sqrt(5)),
m3se=c(4.76/sqrt(5),2.39/sqrt(5))
)
barx <- barplot(data,beside=TRUE)
#軸のラベルなどを追加
barplot(
data,
names.arg=c("1","2", "3"),
ylim=c(0, 50),xlab="Teaching Method", ylab="Score",legend.text=paste(c("High","Low")),
beside=TRUE)
#エラーバーをつける ±SE
arrows(barx,data,barx,data+datase,angle=90, length=0.1)
arrows(barx,data,barx,data-datase,angle=90, length=0.1)