26

RでGUIDとUUIDを生成するにはどうすればよいですか?

rsessionを実行しているマシンのハードウェアなどに基づいてGUIDを生成できるようにしたいと思います。

ただし、フォールバックとして、rfc4122に準拠するUUIDを作成できれば幸いです。

GUIDを作成できるパッケージはありますか?それ以外の場合、誰かがRFC4122互換のUUIDコードを持っていますか?

4

4 に答える 4

23

これに最適なのはuuidパッケージです。UUIDgenerateこれは、 Rの内部乱数ジェネレーターに依存しない1つの関数( )で構成されているためset.seed、@thelatemailの回答のようにセッションで使用しても影響を受けません。パッケージの内部乱数ジェネレーターによって、または時間に基づいてUUIDを生成するように選択できます。

于 2015-03-25T05:27:28.557 に答える
11

Unix環境でRを使用している場合は、system()コマンドを使用してRでUUIDを取得できます。

Linux(Ubuntu 12.04 LTS)の場合:

my_uuid <- system("uuid",intern=T)
my_uuid
[1] 0f62f1de-418d-11e3-8a19-cb0ceccb58ec

Mac OS X 10.8の場合:

my_uuid <- system("uuidgen", intern=T)
my_uuid
[1] 9A9D64DF-EB01-47E7-B16E-DC0343951883

私の知る限り、両方ともUUIDバージョン4形式uuiduuidgen従います。

于 2013-10-30T19:50:26.970 に答える
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"

これはhttp://en.wikipedia.org/wiki/Uuid#Version_4_.28random.29と一致している必要があります

于 2012-05-08T06:22:58.063 に答える
3

Bioconductorにはもう存在しないように見えるRuuidパッケージがありましたが、「Ruuid」をグーグル検索すると、ダウンロードできる場所が示されます。

于 2012-05-08T19:53:17.383 に答える