formula
私は(クラスまたはFormula
の)形式の多くの式を持っています。y ~ a*b
ここで、a
およびb
は因子です。
このような数式を受け取り、インタラクションのすべての用語を「スペルアウト」した数式を返す関数を作成する必要があります。次に例を示します。
fac1 <- factor(c('a', 'a', 'b', 'b'))
fac2 <- factor(c('c', 'd', 'c', 'd'))
BigFormula(formula(x ~ fac1*fac2))
ここで、をBigFormula
返しますformula(x ~ a + b + c + d + a:c + a:d + b:c + b:d)
。
これを行う簡単な方法はありますか?
(コンテキスト:私は、の形式の多くのコマンドを実行していますanova(mod1, mod2)
。ここで、mod2
ネストがmod1
あり、両方のモデルの右側に次のような用語が含まれていますfac1*fac2
。これらのコマンドのポイントは、F統計を計算することです。問題は、3つとしてanova
扱われることです。fac1*fac2
通常は3つ以上の変数を表しますが、変数は(たとえば、上記のコードでfac1*fac2
は8つの変数を表します)、その結果、anova
ネストされたモデルの制限の数を過小評価し、私の自由度を過大評価します。)