Vous avez deux problèmes dans votre appel.
- Comme la documentation de
boxTidwell()
montre, vous devez fournir un deuxième argument
other.x formule à sens unique donnant les facteurs prédictifs qui ne sont pas candidats à la transformation, y compris (par exemple) facteurs.
Une autre answer mentionne que « l'option other.x
indique les termes de la régression qui ne sont pas à transformer. Ce serait toutes vos variables. »
donc d'exécuter ce code (basé sur l'exemple boxTidwell()
) fonctionnera:
boxTidwell(mpg ~ cyl + disp + hp, ~as.factor(am) + poly(gear, 2),
data = mtcars)
- Prédicteurs
Pour une raison quelconque, en utilisant plus de 3 prédicteurs, comme dans votre exemple original, ne fonctionne pas:
boxTidwell(mpg ~ cyl + disp + hp + drat + wt + qsec,
~as.factor(am) + poly(gear, 2),
data = mtcars)
Erreur dans lm.fit (cbind (1, x1.p, x2), y, ...): NA/NaN/Inf en 'x'
Apparently, boxTidwell
fonctionne avec un maximum de 6 prédicateurs, mais quand j'ai essayé d'exécuter votre code avec seulement 4 d'entre eux() alors il a retourné une erreur aussi.