Коефіцієнт повторного розподілу для полегшення використання як вкладеного фактора в модель DESeq2 у R

Я підбираю GLM за допомогою пакета DESeq2 і маю ситуацію, коли особи (RatID) вкладаються в процедуру (дієта). Автор пакету пропонує, щоб люди переходили від рівня 1: N у межах кожної дієти (де N - кількість RatIDs у межах певної дієти), а не до їх початкового рівня ID/фактора (віньєтка DESeq2, стор. 35).

полегшення

Дані виглядають приблизно так (насправді є більше стовпців і рядків, але опущено для простоти):

І ось вихід dput () для структури:

Чи може хтось вказати елегантний спосіб генерування нових рівнів коефіцієнтів для RatID в межах дієти як додатковий стовпець вищезазначеного data.frame. Чи можна це зробити за допомогою функції рулону data.table?

Бажаний вихід (робиться вручну):

ПРИМІТКА. У кожному лікуванні не однакова кількість Щурів. Я також хотів би, щоб рішення не переупорядковувало рядки в даних (якщо це можливо).

РЕДАГУВАТИ: Існує не "природний" порядок для RatIDs, як тільки існує дієта 1: 1 в межах дієти, це прекрасно.