La solución obvia usando geom_abline:
geom_abline(slope = data.lm$coefficients[2], intercept = data.lm$coefficients[1])
¿Dónde data.lmhay un lmobjeto y se data.lm$coefficientsparece a esto?
data.lm$coefficients
(Intercept) DepDelay
-2.006045 1.025109
En la práctica, es idéntico usar stat_functionpara trazar la línea de regresión como una función de x, haciendo uso de predict:
stat_function(fun = function(x) predict(data.lm, newdata = data.frame(DepDelay=x)))
Esto es un poco menos eficiente ya que por defecto n=101se calculan los puntos, pero mucho más flexible ya que trazará una curva de predicción para cualquier modelo que admita predict, como no lineal npregdel paquete np.
Nota: Si utiliza scale_x_continuouso, scale_y_continuousalgunos valores pueden cortarse y, por lo tanto, es geom_smoothposible que no funcionen correctamente. Use coord_cartesianpara hacer zoom en su lugar .