From ligges@statistik.uni-dortmund.de  Tue Aug 22 12:19:44 2000
From: ligges@statistik.uni-dortmund.de (Uwe Ligges)
Date: Tue, 22 Aug 2000 13:19:44 +0200
Subject: [Rd] symbols: xlim and ylim cannot be specified (PR#639)
References: <200008220700.JAA24625@pubhealth.ku.dk>
 <Pine.GSO.4.05.10008220841500.9118-100000@auk.stats> <14754.19553.429605.429987@gargle.gargle.HOWL>
Message-ID: <39A261D0.4F731961@statistik.uni-dortmund.de>

Martin Maechler wrote:
> 
> [now I'm not CC'ing R-bugs, since this is not about the bug anymore..]
> 
> >>>>> "BDR" == Prof Brian D Ripley <ripley@stats.ox.ac.uk> writes:
> 
>     BDR> On Tue, 22 Aug 2000 maechler@stat.math.ethz.ch wrote:
> 
>     .............
> 
>     >> yes,
>     >> and Uwe's fix cures this problem.
>     >> and I have committed it for the release patches (!! i.e. "1.1.1 patched")
> 
> which has
>                 ylab = "", xlim = NULL, ylim = NULL, ...)
> and later
>                 if(is.null(xlim)) {
>                    ...
>                 }
> 
>     BDR> Why is using NULL preferable here?  The standard paradigm as I
>     BDR> understand it is
> 
>     BDR> ylab = "", xlim, ylim, ...)
>     BDR> ...
>     BDR> if(missing(xlim)) {
>     BDR>   xlim <- range(x, na.rm = TRUE)
>     BDR>   xlim <- xlim + c(-1, 1) * (0.1 * diff(xlim))
>     BDR> }
> 
>     BDR> In S there is a problem with passing down missingness, but not in R.
> 
> I know.  Note however that to be really useful one would have to able to
> also *set* missingness for an argument (which I think we can't currently)
> 
> I might want to call
> 
>         symbols(.very.long.argument.list.etc.etc.,
>                 xlim = if(<something>) my.xlim else <<DEFAULT>>,
>                 ...)
> 
> where with the NULL setup, I can even drop the else clause
> {since  if(FALSE)  evaluates to NULL},
> but with the   missing(xlim)  paradigm, I should be able to set <<DEFAULT>>
> to missing...
> 
> In short, we (Uwe, people here and me) *do* prefer NULL to missing...

You are right.
Especially in the development of the scatterplot3d() function I have had
some problems with missing arguments (not only xlim), so I decided to
work with NULL as default instead of "missing".
And I don't see any problems so far.
The only reason to use "missing" is the "standard paradigm" argument, as
Prof. Ripley mentioned.

Uwe Ligges
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


[Rd] symbols: xlim and ylim cannot be specified (PR#639)
Uwe Ligges