Le problème vient du fait que beaucoup d'utilisateurs de R oublient que les fonctions d'analyses linéaires de R comme lm, glm, gls, lme, lmer... donnent comme coefficients les paramètres estimés en fonction des comparaisons planifiées utilisées, c'est-à-dire des contrastes. De ce fait, on n'obtient pas du tout les mêmes paramètres,
intercept compris, si on conserve les contrastes par défaut pour les facteurs non ordonnés (
contr.treatment) ou si on utilise d'autres contrastes comme
contr.sum,
MASS::contr.sdif ou
contr.poly. Dans le premier cas, l'
intercept est la moyenne empirique du groupe de référence et les coefficients, les différences des autres groupes à cette référence, dans les autres cas cités, l'
intercept est la grande moyenne et les paramètres dépendent comme suit du contraste :
contr.sum : différence du groupe à la moyenne des autres, dernier excepté,
contr.sdif : différence des moyennes de deux groupes consécutifs,
contr.poly : coefficients 'polynomiaux' (analyse de tendance).
En fait, pour avoir une idée des liens entre les coefficients calculés et les moyennes des groupes, on peut faire le calcul suivant :
avec
contr.utilise, le contraste utilise.
La première ligne donne l'équation de calcul de l'
intercept et les lignes suivantes, des paramètres suivants (cas à un seul facteur).
N.B. - C'est légèrement plus compliqué quand il y a plus d'un facteur et des interactions, mais le calcul est quand même assez simple.
- Pour avoir le contraste par défaut de la session, La première valeur est pour les facteurs non ordonns, la seconde pour les facteurs ordonnés. On peut aussi modifier les contrastes de divers manières notamment en donnant une valeur sous la forme à l'argument contrasts de la fonction.