【发布时间】:2016-03-04 20:45:17
【问题描述】:
在 R 中,我正在生成一个文档,其中包含针对人员列表的随机部分。
但是,我希望同一份文档,发给同一个人但生成了多次,总是返回相同的号码。
例如,我对团队编号(A 或 B)进行抽样,并且我希望 P 提及文档的任何版本,例如 A。
我知道set.seed 函数,但这需要一个整数,其中我有字符串(人名)。那么,在我的情况下,有没有一种聪明的方法可以将字符串映射到整数?还是其他(更简单)的生成随机文档的解决方案?
【问题讨论】:
-
我不知道如何在 R 中做到这一点,但是实现一个散列函数将字符串映射到整数应该很容易。例如:stackoverflow.com/a/2624210/2947592
-
如果在您的示例中您预先知道所有人,您可以创建一个名称为级别的因子,并使用整数表示来设置种子
-
使用一个因子(你可能已经有了这个因子,因为这是带有 read.* 函数的字符数据的默认值)并使用
as.numeric进行转换。 -
你可以使用它的编码,比如
stri_enc_toutf32(your_string)。将结果粘贴在一起并转换为整数。可以选择按大素数进行修改。 -
如果你想走散列路线(看起来它可以很好地工作),你可能想在不久前调整 this answer of mine 中的代码。
标签: r random hash-function