如何在RHS上使用矩阵项来理解/扩展r公式

时间:2019-02-07 01:56:35

标签: r matrix julia formula

我一直使用https://stats.stackexchange.com/questions/13361/fitting-piecewise-linear-curves-with-lmer上发布的lme4函数在knots()中进行分段混合效果增长曲线回归,以创建结,然后像这样调用lmer:< / p>

> df$knot<-knots(df$time,seq(1.5,3.5,.5)

> lmer(outcome ~ predictor*knot + (1+knot|id), data=df)

这很好。 str(df$knot)表明它是一个矩阵:

num [1:1492895, 1:5] 0 0 0 0 0 0 0 0 0 0 ...
- attr(*, "dimnames")=List of 2
 ..$ : NULL
 ..$ : chr [1:5] "1.5" "2" "2.5" "3" ...

为了提高速度,我想使用Julia(通过JuliaCall)来拟合这些模型,但是Julia并不像R那样迷惑矩阵RHS。

所以,我的问题是:R lm / lmer如何在公式的RHS上理解矩阵,我可以将矩阵“扩展”为数据帧中的规则矢量列吗?朱莉娅不会抱怨吗?

我尝试过:

> df$knot1<-df$knot[,1]

> ...

> df$knot5<-df$knot[,5]

然后使用公式

outcome ~ predictor*(knot1+knot2+knot3+knot4+knot5) + (1+knot1+knot2+knot3+knot4+knot5|id)

是吗? R对RHS矩阵预测变量有何作用?

1 个答案:

答案 0 :(得分:0)

基于具有较小数据集的运行测试模型,似乎确实将矩阵扩展为五个虚拟变量确实可以按预期工作,其中R和Julia产生了相同的结果(但Julia运行了6分钟,lme4运行了大约2分钟)。 5%的数据子集使用相同的随机截距和斜率模型的小时)。