假设我们正在研究一些计数数据随时间推移的随机效应模型,并且我们希望控制一些趋势。通常,您会执行以下操作:
lmer(counts ~ dependent_variable + (1+t+I(t^2)|ID), family="poisson")
为 包括一个二次形状t
。是否可以使用一些更复杂的平滑技术(如 LOESS 平滑器或样条曲线)来模拟这种关系?
假设我们正在研究一些计数数据随时间推移的随机效应模型,并且我们希望控制一些趋势。通常,您会执行以下操作:
lmer(counts ~ dependent_variable + (1+t+I(t^2)|ID), family="poisson")
为 包括一个二次形状t
。是否可以使用一些更复杂的平滑技术(如 LOESS 平滑器或样条曲线)来模拟这种关系?
如果您展示的内容适用于lmer
随机效应项的公式,那么您应该能够使用 R 附带的splines包中的函数来设置相关的基函数。
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