Если то, что вы показываете, работает с 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
термин идея со случайным эффектом - это то, о чем стоит подумать, а не то, что я имею право комментировать.