同步R和Python之间的随机样本选择

时间:2016-09-28 13:44:52

标签: python r random

R和Python中是否有现成的方法可以生成相同的PRNG结果?

后台:我正在尝试将一些代码从R迁移到Python。它包含一个使用sample而无需替换的算法。

我可以通过(更简单)显示它在一小组输入上产生相同的结果来验证迁移的代码,或者(更复杂的)显示结果在给定更大的输入集合的情况下收敛。

让我们说我想采取简单的路线。显然,以下内容不会产生相同的结果,因为在引擎盖下有不同的 PRNG和实现的采样函数。

# R
set.seed(1)
sample(0:9,3)
# returns vector 2 3 4

# Python
import random
random.seed(1)
random.sample(range(10),3)
# returns list 2 1 4

我可以把它搞砸并编写我自己的PRNG,这将是有教育意义的,但需要更多的程序员时间(在非优化代码上)。如果是这样,我可能会选择更复杂的验证。

有没有其他方法可以使用现有的库?我宁愿不介绍第三方依赖(如Java API)。目前倾向于rPython实施但对任何事情都开放。

更新:此closely related question没有接受的答案,并且不会直接解决随机选择问题,只会生成随机均匀分布。

0 个答案:

没有答案