Вы говорите, что использовали ggplot для своей регрессии, но вы этого не сделали. Вы использовали ggplot, чтобы построить линию регрессии по вашим данным.
Да, внутренне ggplot должен будет выполнить регрессию для генерации строки, но его задача не в том, чтобы возвращать объект модели, который вы можете использовать для математического описания ваших результатов. Его задача - провести линию в нужном месте. То, что вы видите, когда создаете summary
ggplot, - это сводка всего множества, многих элементов, которые go используются для создания полностью настраиваемого графика. Линия регрессии - это лишь небольшая часть этого, и не следует ожидать, что объект ggplot предоставит вам все функции правильной модели линейной регрессии.
Вы уже сами ответили на вопрос. Вам нужно сделать отдельную регрессию.
Сначала я загружу ggplot и создам воспроизводимые поддельные данные, которые должны точно соответствовать вашим:
library(ggplot2)
set.seed(69)
odds <- data.frame(Date = 1:182, RorderOT1 = cumsum(rbinom(182, 1, 0.5)))
Затем мы создаем график. Обратите внимание: если вам нужна прямая линия для регрессии, вам необходимо указать method = "lm"
в geom_smooth
:
ggplot(data = odds) +
geom_line(aes(x = Date, y = RorderOT1), colour="red") +
geom_smooth(method = "lm", aes(x = Date, y = RorderOT1), colour="red") +
xlab('Match points') +
ylab('Number of outcomes')
Теперь вы можете выполнять регрессию отдельно:
my_model <- lm(RorderOT1 ~ Date, data = odds)
summary(my_model)
#>
#> Call:
#> lm(formula = RorderOT1 ~ Date, data = odds)
#>
#> Residuals:
#> Min 1Q Median 3Q Max
#> -4.3970 -1.9570 0.1362 1.9126 3.6045
#>
#> Coefficients:
#> Estimate Std. Error t value Pr(>|t|)
#> (Intercept) -1.610528 0.321253 -5.013 1.27e-06 ***
#> Date 0.514329 0.003045 168.924 < 2e-16 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Residual standard error: 2.158 on 180 degrees of freedom
#> Multiple R-squared: 0.9937, Adjusted R-squared: 0.9937
#> F-statistic: 2.854e+04 on 1 and 180 DF, p-value: < 2.2e-16
Теперь вы можете изучить всю необходимую информацию о регрессии, подключить ее к функции predict
, сравнить соответствие с другими моделями, увидеть ее ковариационную матрицу и т. Д. c. потому что это объект модели.
Создано 06.05.2020 пакетом REPEX (v0.3.0)