r - 如何将伪随机变量与字符串关联?

标签 r random hash-function

在 R 中,我正在生成一个文档,其中包含发送给一系列人员的随机部分。

但是,我希望同一个文档,发送给同一个人但生成多次,始终返回相同的数字。

例如,我采样了一个团队编号(A 或 B),并且我希望 P 人员在文档的任何版本中提及 A。

我知道 set.seed 函数,但这需要一个整数,其中我有字符串(人名)。那么,在我的例子中,有没有一种聪明的方法将字符串映射到整数?或者其他(更简单的)生成随机文档的解决方案?

最佳答案

也许将文本转换为十六进制或位会对您有所帮助:

# simple example
x <- charToRaw("Matthew")
y <- rawToBits(x)
packBits(y)
# [1] 4d 61 74 74 68 65 77
rawToChar(packBits(y))
# [1] "Matthew"

# with more data
df <- data.frame(names=c("Matthew M.", "Mark T.", "Luke S.", "John U."), stringsAsFactors = FALSE)
df$Raw <- lapply(df$names, FUN=charToRaw)
df$Bits <- lapply(df$Raw, FUN=rawToBits)

bitsToChar <- function(x) {rawToChar(packBits(x))}
df$Char <- lapply(df$Bits, FUN=bitsToChar)
df$Char
# [[1]]
# [1] "Matthew M."
# 
# [[2]]
# [1] "Mark T."
# 
# [[3]]
# [1] "Luke S."
# 
# [[4]]
# [1] "John U."

关于r - 如何将伪随机变量与字符串关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35784766/

相关文章:

javascript - R - 如何在网站上运行 javascript 按钮以显示所有要抓取的值

r - GLM:警告消息: 'newdata' 有 16623 行,但找到的变量有 22488 行

r - R-标签中的剪切函数,无需科学记数法,可在 ggplot2 中使用

python - 哈希基和表大小如何影响哈希的时间复杂度?

java - Java HashMap 如何处理具有相同哈希码的不同对象?

c++ - 以三个无符号字符为键的 Unordered_map

r - 如何在R中使用strptime()保持午夜(00:00h)?

javascript - Javascript 中的随机值

c# - 如何制作从不在数组中重复的随机数?

random - 在 Twilio 中,您能否从提供的来电 URL 列表中 <Play> 随机音频文件?