Я ищу эффективный способ создания уникальных числовых идентификаторов для некоторых синтетических данных, которые я генерирую.
Прямо сейчас у меня просто есть функция, которая испускает и увеличивает значение из глобальной переменной (см. демонстрационный код ниже). Однако это грязно, потому что я должен инициализировать переменную 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
обеспечивает функциональность, близкую к тому, что я хочу, но мне нужны идентификаторы только для целых чисел. Какие-либо предложения? Возможно, способ конвертировать значение UUID в числовое значение какого-то типа? Очевидно, произойдут некоторые столкновения, но, вероятно, все будет в порядке. Я думаю, что, самое большее, мне понадобится 1 миллиард значений.
Спасибо за любые предложения!
Роб