принимает это во внимание также.
ема: мне нужно сделать уникальное поле идентификатора для данных, которые имеют два уровня группировки. В приведенном здесь примере кода этоEmp
а такжеColor
, Идентификатор должен быть структурирован как:
Emp
+ уникальный номер каждогоColor
+ порядковый номер для дублированногоColors
.
Эти значения разделены точками.
Пример данных:
dat <- data.frame(Emp = c("A","A","A","B","B","C"),
Color = c("Red","Green","Green","Orange","Yellow","Brown"),
stringsAsFactors = FALSE)
Идентификатор должен выглядеть так:
ID <- c("A.01.001", "A.02.001", "A.02.002", "B.01.001", "B.02.001", "C.01.001")
ID [1] "A.01.001" "A.02.001" "A.02.002" "B.01.001" "B.02.001" "C.01.001"
Трехсимвольный суффикс к идентификатору для записи дубликатов может быть выполнен как:
group_by(dat, Emp, Color) %>%
mutate(suffix = str_pad(row_number(), width=3, side="left", pad="0"))
Но я не могу назначить последовательные номера уникальному вхождениюColor
с каждымEmp
группа.
Я предпочитаю решение dplyr, но любой метод будет оценен.