From maechler at stat.math.ethz.ch  Thu Mar 25 11:53:26 2010
From: maechler at stat.math.ethz.ch (Martin Maechler)
Date: Thu, 25 Mar 2010 11:53:26 +0100
Subject: [Rd] [patch] add is.set parameter to sample()
In-Reply-To: <57a6d2111003230504t61cc96eal48e5d2a7b4400f9f@mail.gmail.com>
References: <57a6d2111003221953g69797112o7dd109a280944fad@mail.gmail.com>
	<57a6d2111003230504t61cc96eal48e5d2a7b4400f9f@mail.gmail.com>
Message-ID: <19371.16550.682173.889649@lynne.math.ethz.ch>

>>>>> "AndrewC" == Andrew Clausen <clausen at econ.upenn.edu>
>>>>>     on Tue, 23 Mar 2010 08:04:12 -0400 writes:

    AndrewC> Hi all,
    AndrewC> I forgot to test my patch!  I fixed a few bugs.

and this time, you even forgot to attach it (in a way to pass
through the list filters).

Note however, that all this seems unnecessary,
as we have  sample.int()
and a trivial definition of resample()
at least in R-devel, which will be released as R 2.11.0 on 
April 22.

Thank you anyway, for your efforts!
Martin

Martin Maechler, ETH Zurich

    AndrewC> On 22 March 2010 22:53, Andrew Clausen <clausen at econ.upenn.edu> wrote:
    >> Hi all,
    >> 
    >> sample() has some well-documented undesirable behaviour.
    >> 
    >> sample(1:6, 1)
    >> sample(2:6, 1)
    >> ...
    >> sample(5:6, 1)
    >> 
    >> do what you expect, but
    >> 
    >> sample(6:6, 1)
    >> sample(1:6, 1)
    >> 
    >> do the same thing.
    >> 
    >> This behaviour is documented:
    >> 
    >> ? ? If 'x' has length 1, is numeric (in the sense of 'is.numeric') and
    >> ? ? 'x >= 1', sampling _via_ 'sample' takes place from '1:x'. ?_Note_
    >> ? ? that this convenience feature may lead to undesired behaviour when
    >> ? ? 'x' is of varying length 'sample(x)'. ?See the 'resample()'
    >> ? ? example below.
    >> 
    >> My proposal is to add an extra parameter is.set to sample() to control
    >> this behaviour. ?If the parameter is unspecified, then we keep the old
    >> behaviour for compatibility. ?If it is TRUE, then we treat the first
    >> parameter x as a set. ?If it is FALSE, then we treat it as a set size.
    >> ?This means that
    >> 
    >> sample(6:6, 1, is.set=TRUE)
    >> 
    >> would return 6 with probability 1.
    >> 
    >> I have attached a patch to implement this new option.
    >> 
    >> Cheers,
    >> Andrew
    >> 
    AndrewC> ______________________________________________
    AndrewC> R-devel at r-project.org mailing list
    AndrewC> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] [patch] add is.set parameter to sample()
Martin Maechler