Определите, когда столбцы data.frame изменяют значение и возвращают индексы изменения

Я пытаюсь найти способ определить, когда набор столбцов меняет значение в 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 являются ключами в моей data.table.Столбцы val0, val1, val2 - это что-то вроде баллов.

Приведенный выше файл data.frame следует читать следующим образом: баллы за «ЭЛЕМЕНТ 1» начинались с 5,6,3, оставались без изменений до 4-й итерации, когда они изменились до 6,6,3, а затем снова изменились до 5,6 , 3.

Мой вопрос, есть ли способ получить1-й, 4-й и 5-й строка data.frame? Есть ли способ определить, когда столбцы меняются? (Между прочим, 12 столбцов)

Я пытался использоватьдублируется of data.table (который работал отлично в большинстве случаев), но в этом случае он удалит все дубликаты и оставит только строки 1 и 4 (удаляя 5-й).

У Вас есть какие-то предложения? Я бы предпочел не использовать для цикла, поскольку есть ок. 2М строк.

Ответы на вопрос(2)

Ваш ответ на вопрос