[Rd] algorithm reference for sample()
maechler at stat.math.ethz.ch
Fri Sep 24 10:02:53 CEST 2004
>>>>> "Vadim" == Vadim Ogranovich <vograno at evafunds.com>
>>>>> on Thu, 23 Sep 2004 17:48:45 -0700 writes:
Vadim> Hi, Don't know if it belongs to r-devel or r-help,
Vadim> but since I am planning to alter some of R's internal code
i.e., you will propose a patch to the R sources eventually ?
Vadim> I am sending it here.
good choice. Also, since you are talking about
internal (non-API) C code from R - which I would deem
inappropriate on R-help.
Vadim> The existing implementation of the sample() function,
Vadim> when the optional 'prob' argument is given, is quite
Vadim> inefficient. The complexity is O(sampleSize *
Vadim> universeSize), see ProbSampleReplace() and
Vadim> ProbSampleNoReplace() in random.c. This makes the
Vadim> function impractical for the vector sizes I use.
I'm interested: What problem are you solving where sample() is
the bottleneck (rather than what you *do* with the sample ..)
Vadim> I want to re-code these functions and I "think" I can
Vadim> come up with a more efficient algorithm.
I agree. It's a kind of table lookup, that definitely can be
made faster e.g. by bisection ideas.
Vadim> However before I go and reinvent the wheel I wonder if there
Vadim> is a published description of an efficient sampling
Vadim> algorithm with user-specified probabilities?
I've got some ideas, but maybe would first want to get a reply to the
Vadim> Thanks, Vadim
Vadim> [[alternative HTML version deleted]]
(you *did* read the posting guide or just the general
instructions on http://www.R-project.org/mail.html ?
More information about the R-devel