У меня есть опрос, в котором уникальным идентификатором должны быть заданы вопросы. Некоторые вопросы появляются несколько раз. Это означает, что есть дополнительный уровень вопросов. В приведенных ниже данных приведены только первый слой.Уровни коэффициента заказа в порядке появления в наборе данных
Вопрос: как я могу присвоить уникальный индекс по порядку внешнего вида? Полученное решение here работает в алфавитном порядке. Я могу упорядочить факторы, но это побеждает цель сделать это в R [есть много вопросов для сортировки].
library(data.table)
dt = data.table(question = c("C", "C", "A", "B", "B", "D"),
value = c(10,20,30,40,20,30))
dt[, idx := as.numeric(as.factor(question))]
дает:
question value idx
# 1: C 10 3
# 2: C 20 3
# 3: A 30 1
# 4: B 40 2
# 5: B 20 2
# 6: D 30 4
# but required is:
dt[, idx.required := c(1, 1, 2, 3, 3, 4)]
+1 для LukeA но это действительно более компактно. Оба решения работают. – Henk
Что такое 'idx: = .GRP'? – Superbest