我怎样才能生成R中的GUID和UUID的?
我想是能够根据运行rsession机器的硬件等产生的GUID。
作为备用,不过,我会很乐意创建与rfc4122遵守的UUID。
有没有可以创建的GUID包? 否则,是否有人有一些RFC4122兼容的UUID代码撒谎?
我怎样才能生成R中的GUID和UUID的?
我想是能够根据运行rsession机器的硬件等产生的GUID。
作为备用,不过,我会很乐意创建与rfc4122遵守的UUID。
有没有可以创建的GUID包? 否则,是否有人有一些RFC4122兼容的UUID代码撒谎?
造成这种情况的最佳选择,现在是uuid
包。 它包含一个函数(的UUIDgenerate
),不依赖R上的内部随机数生成器,因此不使用受到任何后果set.seed
在一个会话@ thelatemail的答案呢。 您可以选择具有被包内部的随机数生成器生成或基于时间的UUID。
我一无所知UUID的的复杂性,但会是这样的呢?
baseuuid <- paste(sample(c(letters[1:6],0:9),30,replace=TRUE),collapse="")
paste(
substr(baseuuid,1,8),
"-",
substr(baseuuid,9,12),
"-",
"4",
substr(baseuuid,13,15),
"-",
sample(c("8","9","a","b"),1),
substr(baseuuid,16,18),
"-",
substr(baseuuid,19,30),
sep="",
collapse=""
)
# result like: "f7bd11ed-fca9-42e5-8c3e-4464cd02e0fa"
这应该是符合http://en.wikipedia.org/wiki/Uuid#Version_4_.28random.29
如果你在Unix环境下使用R,你可以使用R中获得UUID system()
命令。
my_uuid <- system("uuid",intern=T)
my_uuid
[1] 0f62f1de-418d-11e3-8a19-cb0ceccb58ec
my_uuid <- system("uuidgen", intern=T)
my_uuid
[1] 9A9D64DF-EB01-47E7-B16E-DC0343951883
据我所知,这两个uuid
和uuidgen
如下UUID版本4的格式。
Bioconductor的有一个Ruuid包装似乎并不在那里了,但在“Ruuid”谷歌搜索将指向,您可以下载它的地方。