I don’t remember the specific motivation for the original behavior so perhaps we should discuss this and see what makes sense now?

On Mar 25, 2014, at 9:21 AM, Jai Ram Rideout <notifications@github.com<mailto:notifications@github.com>> wrote:


In skbio/maths/subsample.py:

>
> -    Returns `counts` if `n` is equal to or larger than the number of items in
> -    `counts`.
> +    Returns a copy of `counts` if `n` is equal to or larger than the number of


Re: improving the performance of subsampling without replacement: I haven't looked into this yet in detail, so can't comment on whether or not we'll be able to improve performance over the existing implementation using np.random.choice. I agree that we should keep subsampling without replacement the default behavior here and in QIIME regardless of performance issues (they were already there previously in PyCogent), and we can improve performance later on, either through better usage of numpy, rewriting in cython, or using @wasade<https://github.com/wasade>'s code.

Not unless you feel like benchmarking the implications of something that isn’t either bootstrapping or jackknifing

It sounds like there's disagreement between you and @gregcaporaso<https://github.com/gregcaporaso> about how n equal to or larger than counts.sum() should be handled. The original PyCogent code simply returned the original vector (whether subsampling with or without replacement) and that's what the current code does. Should we just keep this current behavior?

—
Reply to this email directly or view it on GitHub<https://github.com/biocore/scikit-bio/pull/206/files#r10935225>.