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ネストされたモデルの制限の数を過小評価し、私の自由度を過大評価します。)