0

RでN-way ANOVAを実行して、さまざまな要因間の相互依存関係を把握するのに助けが必要です。私のデータには約 100 の異なる要因があり、次のコードを使用して ANOVA を実行しています。

model.lm<-lm(y~., data=data)
anova(model.lm)

私が知る限り(私が間違っているかもしれません)、これは各因子のみで一元配置分散分析を実行します。何らかの理由で、x1 から x100 までの 100 グループすべての間で N-way ANOVA を実行する必要があります。次のように各要素を指定する必要がありますか、それとも簡略表記がありますか?

model.lm<-lm(y~x1*x2*x3....,x100, data=data)
anova(model.lm)
4

1 に答える 1

4

update.formula~(.)^n表記が使えます。

aたとえば、4 つの変数、bcおよびからの 3 方向の交互作用を含むモデルの場合d

update(~a+b+c+d, ~(.)^3)


## ~a + b + c + d + a:b + a:c + a:d + b:c + b:d + c:d + a:b:c + a:b:d + a:c:d + b:c:d

したがって、100通りの相互作用に適合させたいあなたの例では、より適切なモデルを考えることをお勧めします(特に、ここで説明している時間である場合)。

基本的な ANOVA アプローチを続行することにした場合は、次のようなことができます (そして、大きなデータや不適切なモデルによるメモリの問題で R がクラッシュするのを待ちます)。

xvars <- paste0('x',1:100)
oneway <- reformulate(termlabels=  xvars, response = 'y')


horribleformula <- update(oneway, . ~ (.)^100)

horriblemodel <- lm(horribleformula, data=data)

または(これを拾ってくれた@Dasonに感謝します)

 stillhorrible <- lm(y ~ .^100, data = data)
于 2012-11-26T01:07:24.050 に答える