Якщо те, що ви показуєте, працює для 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
термін ідея із випадковим ефектом - це щось, про що варто подумати, а не те, що я кваліфікований для коментування.