>>>>> "AndrewC" == Andrew Clausen <clau...@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 <clau...@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@r-project.org mailing list AndrewC> https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel