¿Por qué los modelos R y stats dan resultados ANOVA ligeramente diferentes?

Usando un pequeño conjunto de datos de muestra R y el ejemplo ANOVA destatsmodels, los grados de libertad para una de las variables se informan de manera diferente, y los resultados de los valores F también son ligeramente diferentes. ¿Quizás tienen enfoques predeterminados ligeramente diferentes? ¿Puedo configurar statsmodels para usar los valores predeterminados de R?

import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols


##R code on R sample dataset

#> anova(with(ChickWeight, lm(weight ~ Time + Diet)))
#Analysis of Variance Table
#
#Response: weight
#           Df  Sum Sq Mean Sq  F value    Pr(>F)
#Time        1 2042344 2042344 1576.460 < 2.2e-16 ***
#Diet        3  129876   43292   33.417 < 2.2e-16 ***
#Residuals 573  742336    1296
#write.csv(file='ChickWeight.csv', x=ChickWeight, row.names=F)

cw = pd.read_csv('ChickWeight.csv')
cw_lm=ols('weight ~ Time + Diet', data=cw).fit()   

print(sm.stats.anova_lm(cw_lm, typ=2))
#                  sum_sq   df            F         PR(>F)
#Time      2024187.608511    1  1523.368567  9.008821e-164
#Diet       108176.538530    1    81.411791   2.730843e-18
#Residual   764035.638024  575          NaN            NaN

La cabeza y la cola de los conjuntos de datos son iguales *, también significan, min, max, mediana de peso y tiempo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta