sta*_*kam 17
现在最好的选择是uuid包装.它由一个函数(UUIDgenerate)组成,它不依赖于R的内部随机数生成器,因此不会set.seed因为@thelatemail的答案而在会话中使用会产生任何后果.您可以选择通过程序包的内部随机数生成器或基于时间生成UUID.
the*_*ail 10
我对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"
Run Code Online (Sandbox Code Playgroud)
这应符合http://en.wikipedia.org/wiki/Uuid#Version_4_.28random.29
Sam*_*mir 10
如果在Unix环境中使用R,则可以使用system()命令在R中获取UUID .
my_uuid <- system("uuid",intern=T)
my_uuid
[1] 0f62f1de-418d-11e3-8a19-cb0ceccb58ec
Run Code Online (Sandbox Code Playgroud)
my_uuid <- system("uuidgen", intern=T)
my_uuid
[1] 9A9D64DF-EB01-47E7-B16E-DC0343951883
Run Code Online (Sandbox Code Playgroud)
据我所知,双方uuid并uuidgen遵循UUID版本4的格式.