[Rd] abline for intercept-only simple lm models (with and without offset)

Martin Maechler maechler at stat.math.ethz.ch
Mon Dec 11 14:17:48 CET 2006


Yes, I think  all your propositions would be improvements.
OTOH, I don't think the improvements warrant a big increase in
code (complexity), nor do I think the improvements are crucial
for R's integrity.

So...
If you (our someone else) provides a patch {against
R-devel, as always} which keeps the code simple,
I'd strongly consider adding that to R.

Regards,
Martin Maechler

>>>>> "Tobias" == Tobias Verbeke <tobias.verbeke at telenet.be>
>>>>>     on Sat, 09 Dec 2006 22:42:38 +0100 writes:

    Tobias> The abline function can be used to draw the
    Tobias> regression line when one passes the lm object as an
    Tobias> argument.

    Tobias> However, if it's an intercept-only model, it appears
    Tobias> to use the intercept as the slope of the abline:

    Tobias> mod <- lm(dist ~ 1, data = cars) plot(dist ~ speed,
    Tobias> data = cars) abline(reg = mod) # nothing appears

    Tobias> This behaves as documented, but might catch
    Tobias> someone. Would it be an improvement if this
    Tobias> situation was detected so as to plot the appropriate
    Tobias> horizontal line, i.e.

    Tobias> abline(a = coef(mod), b = 0) ?

    Tobias> Would it also be an improvement if for a model like

    Tobias> mod2 <- lm(dist ~ 1 + offset(speed), data = cars)

    Tobias> abline(reg = mod2) would be equivalent to

    Tobias> abline(a = coef(mod2), b = 1) ?

    Tobias> For models through the origin, the current function
    Tobias> works fine, but one might even consider models
    Tobias> through the origin and having the independent
    Tobias> variable in an offset() to be fully fool-proof, i.e.

    Tobias> abline(a = 0, b = 1)

    Tobias> Kind regards, Tobias

    Tobias> ______________________________________________
    Tobias> R-devel at r-project.org mailing list
    Tobias> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list