aov()
私はループの中を走っていました。各反復の出力は、リスト項目として保存されました。以前model.frame()
に各aov
オブジェクトのデータ フレームを確認したところ、それらはすべて同一でした。実際、それらはすべて、基本的に最後の反復のデータ フレームでした。さらに興味深いことに、これaov
は誤差項を含むモデルでのみ発生するようです。 これを説明するために、R の ChickWeight データを使用します (以下を参照)。
results<-list()
length(results2)<-4
counter<-1
for(i in unique(ChickWeight$Diet)){
results[[counter]] <- aov(weight~factor(Time) + Error(Chick),
ChickWeight[ChickWeight$Diet==i,])
counter<-counter+1
}
head(model.frame(results[[1]]), 2)
# weight factor(Time) Chick
#461 42 0 41
#462 51 2 41
head(model.frame(results[[2]]), 2)
# weight factor(Time) Chick
#461 42 0 41
#462 51 2 41
head(model.frame(results[[3]]), 2)
# weight factor(Time) Chick
#461 42 0 41
#462 51 2 41
head(model.frame(results[[4]]), 2)
# weight factor(Time) Chick
#461 42 0 41
#462 51 2 41
対照的に、これはエラー項がない場合には起こりません。
results2<-list()
length(results2)<-4
counter<-1
for(i in unique(ChickWeight$Diet)){
results2[[counter]] <- aov(weight~factor(Time),
ChickWeight[ChickWeight$Diet==i,])
counter<-counter+1
}
head(model.frame(results2[[1]]), 2)
# weight factor(Time)
#1 42 0
#2 51 2
head(model.frame(results2[[2]]), 2)
# weight factor(Time)
#221 40 0
#222 50 2
head(model.frame(results2[[3]]), 2)
# weight factor(Time)
#341 42 0
#342 53 2
head(model.frame(results2[[4]]), 2)
# weight factor(Time)
#461 42 0
#462 51 2
何が起こっているのか誰かが知っているのだろうか。