Якщо те, що ви показуєте, працює для lmerформули терміна випадкових ефектів, тоді ви повинні мати можливість використовувати функції з пакету сплайнів, який поставляється разом з R, для налаштування відповідних базових функцій.
require("lme4")
require("splines")
lmer(counts ~ dependent_variable + (bs(t) | ID), family="poisson")
Залежно від того, що ви хочете зробити, слід також переглянути пакет gamm4 та пакунок mgcv . Перший, по суті, формалізує bs()біт у lmer()виклику вище і дозволяє вибирати плавність як частину аналізу. Останній з функцією gam()забезпечує певну ступінь гнучкості в подібних моделях (якщо я розумію, що ви намагаєтеся зробити). Схоже, ви хочете окремі тенденції всередині ID? Більш підхід із фіксованими ефектами був би на кшталт:
gam(counts ~ dependent_variable + ID + s(t, by = ID) , family="poisson")
Випадкові ефекти можуть бути включені в gam()моделі, використовуючи s(foo, bs = "re")терміни типу, де це fooбуло б IDу вашому прикладі. Чи є сенс поєднувати byтермін ідея із випадковим ефектом - це щось, про що варто подумати, а не те, що я кваліфікований для коментування.