J'essaie d'effectuer une ANCOVA (mélange entre ANOVA et régression linéaire) entre différents modèles et je rencontre quelques problèmes. Je pense que je l'ai réduit à un problème (ou quelque chose que je ne comprends pas ou mal) à propos d'ANOVA: pour faire une comparaison entre deux modèles, ils doivent avoir un Df (degré de liberté) résiduel différent.Pourquoi la suppression d'une variable dans un Anova contenant des facteurs dans R ne réduit pas le degré de liberté?
À titre d'exemple, considérons les données de mtcars dans R:
library(car)
test_data <- mtcars %>% mutate(factored_variable = as.factor(carb))
model_1 <- aov(drat ~ factored_variable , data = test_data)
Anova(model_1, type = "III")
# Anova Table (Type III tests)
#
# Response: drat
# Sum Sq Df F value Pr(>F)
# (Intercept) 94.870 1 313.3656 0.0000000000000005038 ***
# factored_variable 0.991 5 0.6546 0.6607
# Residuals 7.871 26
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
model_2 <- aov(drat ~ factored_variable - 1, data = test_data)
Anova(model_2, type = "III")
# Anova Table (Type III tests)
#
# Response: drat
# Sum Sq Df F value Pr(>F)
# factored_variable 414.92 6 228.42 < 0.00000000000000022 ***
# Residuals 7.87 26
# ---
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Alors, ce que je viens de faire est de créer deux modèles pour prédire la valeur de Zut. La première prend la variable avec facteur (Df = nombre de niveaux - 1 = 5) et une ordonnée à l'origine (Df = 1 toujours), donc 6 Df sont utilisés. J'ai supprimé l'interception dans le second modèle, donc j'ai juste la variable seule. Je m'attendrais alors à ce que seulement 5 Df soient utilisés par cette variable, mais ce n'est apparemment pas le cas comme le dit Anova. 6.
Ma question est donc la suivante: pourquoi ce dernier Df 6 et non 5? Je suppose que c'est lié au fait que la variable a des facteurs, mais je ne comprends pas pourquoi. Est-il impossible de comparer deux modèles impliquant ce type de variable?
edit: merci pour la réponse. Je pense que j'ai mal compris la théorie plutôt que R, c'est un peu plus clair maintenant