A solução óbvia usando geom_abline
:
geom_abline(slope = data.lm$coefficients[2], intercept = data.lm$coefficients[1])
Onde data.lm
está um lm
objeto e se data.lm$coefficients
parece com isto:
data.lm$coefficients
(Intercept) DepDelay
-2.006045 1.025109
Idêntico na prática é usar stat_function
para traçar a linha de regressão como uma função de x, fazendo uso de predict
:
stat_function(fun = function(x) predict(data.lm, newdata = data.frame(DepDelay=x)))
Isso é um pouco menos eficiente, pois, por padrão, os n=101
pontos são calculados, mas muito mais flexível, pois traçará uma curva de previsão para qualquer modelo compatível predict
, como não linear npreg
do pacote np.
Nota: Se você usar scale_x_continuous
ou, scale_y_continuous
alguns valores podem ser cortados e, portanto, geom_smooth
podem não funcionar corretamente. Use coord_cartesian
para aumentar o zoom .