Poszukuję skutecznego sposobu na tworzenie niepowtarzalnych, numerycznych identyfikatorów dla niektórych syntetycznych danych, które generuję.Jak wygenerować auto-inkrementujące ID w R
W tej chwili po prostu mam funkcję, która emituje i zwiększa wartość zmiennej globalnej (patrz kod demo poniżej). Jest to jednak kłopotliwe, ponieważ muszę zainicjować zmienną idCounter
i wolałbym nie używać zmiennych globalnych, jeśli to możliwe.
# 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()
Pakiet uuid
zapewnia funkcjonalność blisko tego, co chcę, ale muszę identyfikatory być tylko liczbami całkowitymi. Jakieś sugestie? Być może sposób przekonwertować wartość UUID na jakąś wartość liczbową? Oczywiście zdarzają się kolizje, ale prawdopodobnie będzie dobrze. Myślę, że potrzebuję co najwyżej miliarda wartości.
Dzięki za wszelkie sugestie!
-Rob
sprzeczne wymagania: „wyjątkowy”, „Oczywiście niektóre kolizje byłoby wystąpić, ale to pewnie będzie ok” –