Я пытаюсь найти способ определить, когда набор столбцов меняет значение в data.frame. Позвольте мне прямо сказать, рассмотрим следующий пример:
x<-data.frame(cnt=1:10, code=rep('ELEMENT 1',10), val0=rep(5,10), val1=rep(6,10),val2=rep(3,10))
x[4,]$val0=6
- Столбец cnt - это уникальный идентификатор (может быть дата или столбец времени, для простоты здесь int)
- Кодовый столбец похож на код для набора строк (представьте несколько таких групп, но с разными кодами). Код и cnt являются ключами в моей таблице данных.
- Столбцы val0, val1, val2 являются чем-то вроде результатов.
Приведенный выше формат данных должен быть прочитан как: Оценки для "ELEMENT 1" начались как 5,6,3, оставались как есть до 4-й итерации, когда они изменились на 6,6,3, а затем изменились на 5,6,3.
Мой вопрос: есть ли способ получить строку 1-го, 4-го и 5-го данных .frame? Есть ли способ обнаружить, когда столбцы меняются? (Есть 12 столбцов кстати)
Я попытался использовать дублированный data.table(который отлично работал в большинстве случаев), но в этом случае он удалит все дубликаты и оставит только строки 1 и 4 (удаление 5-го).
Есть ли у вас предложения? Я бы предпочел не использовать цикл for, поскольку прибл. 2M.