top of page

#要因の組み合わせの各平均値と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)

bottom of page