У меня есть данные, где в каждой строке указан человек. Я хочу создать случайно сгенерированный уникальный идентификатор, чтобы я мог идентифицировать их при анализе.
Вот примерный кадр данных
df <- data.frame(
gender = rep(c("M", "F", "M", "M", "F"), 1000),
qtr = sample(c(1:99), 50000, replace = T),
result = sample(c(100:1000), 50000, replace = T)
)
Чтобы сгенерировать уникальный идентификатор, я использую stringi
library(stringi)
library(magrittr)
library(tidyr)
df <- df %>%
mutate(UniqueID = do.call(paste0, Map(stri_rand_strings, n=50000, length=c(2, 6),
pattern = c('[A-Z]', '[0-9]'))))
Однако, когда я проверяю, уникальна ли новая переменная UniqueID, при запуске этого кода обнаруживаются некоторые дубликаты.
length(unique(unlist(df[c("UniqueID")])))
Есть ли способ создать уникальный идентификатор, который действительно уникален, без дубликатов?
Я видел эти вопросы, но он не отвечает, как сделать случайныйсгенерированный номер уникален. Генерация уникальных случайных чисел в столбце данных в R Создание кадра данных со случайными числами в каждом столбце
Спасибо