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.)