From maechler at stat.math.ethz.ch  Wed Jan 30 11:41:55 2008
From: maechler at stat.math.ethz.ch (Martin Maechler)
Date: Wed, 30 Jan 2008 11:41:55 +0100
Subject: [Rd] A "safe" do.call
In-Reply-To: <f8e6ff050801290726u6d07dd3fy4a476aa89e958094@mail.gmail.com>
References: <f8e6ff050801281819l223d85deu458c67fd6e0b3693@mail.gmail.com>
	<f8e6ff050801281830m3a46e884j715611fed13cf3a8@mail.gmail.com>
	<alpine.LFD.1.00.0801290525250.23305@gannet.stats.ox.ac.uk>
	<f8e6ff050801290726u6d07dd3fy4a476aa89e958094@mail.gmail.com>
Message-ID: <18336.21619.915655.397877@stat.math.ethz.ch>

>>>>> "hw" == hadley wickham <h.wickham at gmail.com>
>>>>>     on Tue, 29 Jan 2008 09:26:24 -0600 writes:

    >> > Or is this a bug in glm?  It certainly seems that the
    >> documentation > should mention that ... is passed to
    >> glm.control, which only takes > three arguments.  I
    >> realise that this doesn't come up very often > during an
    >> interactive model fitting session, and it is easy to
    >> remedy > when it does, but it makes writing robust
    >> functions hard when a > function with ... does in fact
    >> have a fixed argument list.
    >> 
    >> I think the docmentation has conflated '...' for glm and
    >> '...' for weights.
    >> 
    >> My recollection is that this was intentional: at least
    >> one core developer used to dislike '...' as it allowed
    >> mistyped argument names to be ignored.  And he has a good
    >> point, IMO.

    hw> That seems a perfectly good reason not to use ... - but
    hw> if you are going to use ... it seems like you shouldn't
    hw> warn on mismatched argument names.  

I disagree.

One "famous" example on this was -- in S-plus, early 1990s --
known about S users back then, and it happened here (as well),
not in theory: a scientist who later came for consulting to us
did a logistic regression

  mod1 <- glm(y ~ x1 + x2 + ....,  .......
	      data = ....., famliy = binomial)
  summary(mod1)
  ...

and was wondering about the logistic regression coefficients and
their interpretation and more things
until we found out the small typo above
which made glm() compute a ("gaussian") model even though the
user had clearly said he wanted a logistic one.

Can you see the point?
Martin

    hw> Maybe I can attack the problem in the opposite direction
    hw> - instead of matching the parameters of the function I'm
    hw> calling, I'll try and remove the parameters that
    hw> probably belong to ggplot.

    hw> Hadley

    hw> -- http://had.co.nz/



[Rd] A "safe" do.call
Martin Maechler