Los modelos son idénticos.
Una forma de ver esto (aunque no es una prueba ) es comparar sus predicciones y observar que son iguales.
rbind(`First model`=predict(runner1lm), `Second model`=predict(runner2lm))
1 2 3 4 5 6 7 8
First model 39 35 40 41 40 38 41 42
Second model 39 35 40 41 40 38 41 42
Por supuesto, el coeficientes difieren porque has utilizado diferentes métodos para expresar los datos con números.
Sin embargo, es de esperar que las salidas sean interconvertibles. Se puede averiguar cómo escribiendo las predicciones del modelo como fórmulas. Sea $A,B,C$ sea el $\pm 1$ códigos utilizados en el segundo modelo. En este modelo, la ampliación de las interacciones da
$$y = \beta_0 + \beta_A A + \beta_B B + \beta_C C + \beta_{AB} A\times B + \beta_{AC}A\times C + \beta_{BC} B\times C + \beta_{ABC}A\times B \times C.$$
Hay que estimar ocho coeficientes. Sus estimaciones, en el orden indicado, son
$$(\beta_0, \beta_A, \ldots, \beta_{ABC}) = \left(39\frac{1}{2}, -\frac{1}{2}, 1\frac{1}{2}, \frac{3}{4}, 1, \frac{1}{4}, -\frac{1}{4}, -\frac{1}{4}\right),$$
como se vio cuando se imprimió runner2lm
al final de su código.
Por ejemplo, en el primer registro donde $(A,B,C)=(-1,-1,-1),$ la predicción es
$$y = 39\frac{1}{2} -\frac{1}{2}(-1) + \cdots + -\frac{1}{4}(-1)(-1)(-1) = 39.$$
El primer modelo cambia la forma en que $A,$ $B,$ y $C$ se expresan. Llamemos a estas variables $a,b,$ y $c.$ Las relaciones son
$$\left\{\begin{aligned} a &= \frac{15}{2} + \frac{5}{2}A;&\quad A &= (2a - 15)/5\\ b &= \frac{13}{2} + \frac{5}{2}B;&\quad B &= (2b - 13)/5\\ c &= 450 + 50C &\quad C &= (c - 450)/50. \end{aligned}\right.$$
Si se introducen estas expresiones para $A,B,C$ en el modelo da
$$y = \beta_0 + \beta_A(2a-15)/5 + \cdots + \beta_{ABC}\left((2a-15)/5\right)\left((2b-13)/5\right)\left((c-450)/50\right).$$
Después de expandir todos estos productos y hacer bastante álgebra, se encuentran los coeficientes correspondientes para el primer modelo. Por ejemplo, el coeficiente de $abc$ es $$\beta_{ABC}(2/5)(2/5)(1/50) = -4/(4\times 5\times 5\times 50) = 1/1250 = 0.0008.$$
Puede inspeccionar esto directamente:
tail(coefficients(runner1lm), 1)
runner1$A:runner1$B:runner1$C
-8e-04
-8e-04
es un ordenador para $8\times 10^{-4} = 0.0008,$ que está de acuerdo con el cálculo.
Merece la pena comprobar algunos de los otros coeficientes de la misma manera: inspeccionar el coeficiente en un modelo; hacer el álgebra para calcular cuál debe ser en el otro modelo; y luego confirmarlo mediante la inspección. Repite este ejercicio hasta que sientas que realmente entiendes las relaciones entre estos dos formularios de la mismo modelo.
Si te quedas atascado, simplifica tu ejemplo. Comience con un modelo de la forma $y = \beta_0 + \beta_A A,$ con una variable explicativa. A continuación, pase a un modelo con dos variables y un término de interacción. Después de eso, deberías tener el control.
Moral
Cuando informe de las estimaciones del modelo, asegúrese de explicar cómo ha elegido los números para expresar todas las variables implicadas.
Algunos métodos de expresión numérica ("codificación") se prestan mejor a la interpretación que otros, pero cualquier método que cree una correspondencia uno a uno matemáticamente predecible, como la examinada anteriormente, funcionará.
Bonificación informática
Como las relaciones entre estas formas de expresión numérica pueden calcularse algebraicamente, permiten una transformación fácil y eficaz entre los marcos de datos. Por ejemplo, la expresión
15/2 + (5/2)*runner2$A
convierte el A
variable en runner2
(al que llamé $A$ en las fórmulas anteriores) a la A
variable en runner1
(al que llamé $a$ ). Así, no es necesario crear ninguna tabla de conversión ni utilizar ningún paquete especial: la suma y la multiplicación se encargan de todo.