Я пытаюсь вручную вычислить r-квадрат, заданный lm () в R
Учитывая:
fit <- lm(obs_values ~ preds_values, df)
с sd(df$obs_values) == sd(df$preds_values)
и mean(df$obs_values) == mean(df$preds_values)
Для этого я могу извлечь остатки, выполнив res_a = residuals(fit)
, а затем ввести их в формулу:
y = sum( (df$obs_values - mean(df$obs_values))^2 )
r-squared = 1 - sum(res_a^2)/y
Здесь я получаю ожидаемый r-квадрат
Теперь я хотел бы получить остаток вручную.
Он должен быть таким же тривиальным, как: res_b = df$obs_values - df$predss_values
, но по некоторым причинам res_b отличается от res_a ...