Se o que você mostrar funcionar para uma lmer
fórmula para um termo de efeitos aleatórios, você poderá usar as funções do pacote splines que acompanha o R para configurar as funções básicas relevantes.
require("lme4")
require("splines")
lmer(counts ~ dependent_variable + (bs(t) | ID), family="poisson")
Dependendo do que você deseja fazer, você também deve examinar o pacote gamm4 e o pacote mgcv . O primeiro está formalizando essencialmente o bs()
bit na lmer()
chamada acima e permite que a seleção de suavidade seja realizada como parte da análise. O último com função gam()
permite algum grau de flexibilidade na adaptação de modelos como este (se eu entendo o que você está tentando fazer). Parece que você quer tendências separadas dentro ID
? Uma abordagem de efeitos mais fixos seria algo como:
gam(counts ~ dependent_variable + ID + s(t, by = ID) , family="poisson")
Efeitos aleatórios podem ser incluídos nos gam()
modelos usando os s(foo, bs = "re")
termos de tipo em foo
que estaria ID
no seu exemplo. Se faz sentido combinar o by
termo ideia com um efeito aleatório é algo para se pensar e não algo que eu esteja qualificado para comentar.