Interações de fator de expansão dentro de uma fórmula

Eu tenho muitas fórmulas (de classeformula ouFormula) da formay ~ a*b, Ondea eb são fatores.

Eu preciso escrever uma função que usa essa fórmula e retorna uma fórmula com todos os termos da interação "soletrados para fora". Aqui está um exemplo:

fac1 <- factor(c('a', 'a', 'b', 'b'))
fac2 <- factor(c('c', 'd', 'c', 'd'))
BigFormula(formula(x ~ fac1*fac2))

OndeBigFormula devolveformula(x ~ a + b + c + d + a:c + a:d + b:c + b:d).

Existe uma maneira simples de fazer isso?

(O contexto: estou executando muitos comandos da formaanova(mod1, mod2), Ondemod2 ninhos emmod1, e onde o lado direito de ambos os modelos contém termos comofac1*fac2. O ponto desses comandos é calcular estatísticas-F. O problema é queanova tratafac1*fac2 como três variáveis, embora geralmente represente mais de três variáveis. (No código acima, por exemplo,fac1*fac2 representa oito variáveis.) Como resultado,anova subestima o número de restrições no modelo aninhado e superestima meus graus de liberdade.)

questionAnswers(5)

yourAnswerToTheQuestion