2016-11-07 17 views
0

私は、R内でanova anaysisを、因子内と因子間に1つのデータセットで行うことを試みています。データは、2つの試験方法の類似性を試験するための実験由来である。各被験者は、方法1および方法2(内因子)ならびに4つの異なるグループのうちの1つ(因子間)で試験した。私はaov、Anova(車のパッケージ内)、ezAnova関数を使ってみました。私が試したすべての方法について、間違った値を得ています。私は自分のミスがどこにあるのか、Rやアンバー自身の理解が不足しているかどうかはわかりません。私が使用していたコードが含まれていたと思います。私は答えにつきものになることを期待してこのようなバリエーションを試しました。このデータセットはバランスが取れていますが、私は多くの類似したデータセットを持っていますが、多くは不安定です。あなたが提供できるお手伝いをありがとう。Mixed Anova in R

library(car) 
library(ez) 

#set up data 
sample_data <- data.frame(Subject=rep(1:20,2),Method=rep(c('Method1','Method2'),each=20),Level=rep(rep(c('Level1','Level2','Level3','Level4'),each=5),2)) 
sample_data$Result <- c(4.76,5.03,4.97,4.70,5.03,6.43,6.44,6.43,6.39,6.40,5.31,4.54,5.07,4.99,4.79,4.93,5.36,4.81,4.71,5.06,4.72,5.10,4.99,4.61,5.10,6.45,6.62,6.37,6.42,6.43,5.22,4.72,5.03,4.98,4.59,5.06,5.29,4.87,4.81,5.07) 
sample_data[, 'Subject'] <- as.factor(sample_data[, 'Subject']) 
#Set the contrats if needed to run type 3 sums of square for unblanaced data 
#options(contrats=c("contr.sum","contr.poly")) 

#With aov method as I understand it 'should' work 
anova_aov <- aov(Result ~ Method*Level + Error(Subject/Method),data=test_data) 
print(summary(anova_aov)) 

#ezAnova method, 
anova_ez = ezANOVA(data=sample_data, wid=Subject, dv = Result, within = Method, between=Level, detailed = TRUE, type=3) 
print(anova_ez) 

はまた、私はSAS

SAS Anova

答えて

0

によって出力として取得しなければならない値は実際には、あなたのRコードは、どちらの場合も正しいです。これらのデータをSPSSで実行すると、同じ結果が得られました。 SASはSPSSと同様に、within要因のレベルを別々の列に表示する必要があるようです。

件名レベル方法1方法2の答えのための

+0

ありがとう:あなたはあなたのSASで望ましい結果をもたらす可能性がある20行の代わりに、40で以下のようなarrangmementを終了します。 SASの結果は実際には正しい結果です。 p値は自分のRコードでは意味を持ちません。自由度は、F値を計算するために使用されたエラー用語と同様に、SASコードを見るときには私にとって奇妙です。 SASの結果では、F値を計算するためにエラーとしてLevel(メソッド)が使用されました。私はここに関わる統計を誤解していると思う。 –

+0

aov関数を使って遊んでみると、aov(Result〜Method/Level + Error(Method:Level)、data = sample_data)を使うと、SASの出力と似た結果が得られます。私は実験とAnovaのセットアップについてこれが何を意味するのか分かりません。私はこのようにモデル化することは考えられませんでした。 –