La solución obvia usando geom_abline
:
geom_abline(slope = data.lm$coefficients[2], intercept = data.lm$coefficients[1])
¿Dónde data.lm
hay un lm
objeto y se data.lm$coefficients
parece a esto?
data.lm$coefficients
(Intercept) DepDelay
-2.006045 1.025109
En la práctica, es idéntico usar stat_function
para 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=101
se 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 npreg
del paquete np.
Nota: Si utiliza scale_x_continuous
o, scale_y_continuous
algunos valores pueden cortarse y, por lo tanto, es geom_smooth
posible que no funcionen correctamente. Use coord_cartesian
para hacer zoom en su lugar .