【发布时间】:2014-09-18 00:09:35
【问题描述】:
我正在寻找一种有效的方法来为我正在生成的一些合成数据创建唯一的数字 ID。
现在,我只有一个函数,它可以从全局变量中发出和递增一个值(参见下面的演示代码)。但是,这很麻烦,因为我必须初始化 idCounter 变量,并且如果可能的话我宁愿不使用全局变量。
# Emit SSN
idCounter = 0
emitID = function(){
# Turn into a formatted string
id = formatC(idCounter,width=9,flag=0,format="d")
# Increment id counter
idCounter <<- idCounter+1
return(id)
}
record$id = emitID()
uuid 包提供了接近我想要的功能,但我需要的 ID 只是整数。有什么建议么?也许是一种将 UUID 值转换为某种数值的方法?显然会发生一些碰撞,但这可能没问题。我认为,我最多需要 10 亿个值。
感谢您的任何建议!
-罗伯
【问题讨论】:
-
矛盾的要求:“唯一”,“显然会发生一些冲突,但那可能没问题”
标签: r