我经常遇到这个问题:我想在约束条件下拟合多级回归。我不知道该怎么做。我通常使用lavaan结束,因为它允许对回归系数设置约束。但是它仍然不能具有随机斜率模型(只能是随机截距,事实是我也不知道如何在lavaan中对截距设置约束),我想采用一种多级方法。

因此,基本上我有一个y变量,该变量对x具有二阶多项式依赖性,其系数取决于主题ID

library(data.table)
library(ggplot2)

df <- data.table(x = rep(0:10,5),ID = rep(LETTERS[1:5],each = 11))
df[,a:= rnorm(1,2,1),by = ID]
df[,b:= rnorm(1,1,0.2),by = ID]
df[,y := rnorm(.N,0,10) + a*x + b*x^2 ]

ggplot(df,aes(x,y,color = ID))+
  geom_point()


r - 具有拦截约束的lmer多级拟合-LMLPHP

我可以做普通的多级:

lmer(y ~ x + I(x^2) + (x+ I(x^2)|ID),df)


但是我想将截距限制为0。有没有简单的方法呢?
谢谢

最佳答案

您可以使用-1禁止拦截。例如:

coef(summary(lmer(y ~ x + I(x^2) + (x+ I(x^2)|ID),df)))
             Estimate Std. Error    t value
(Intercept) -1.960196   4.094491 -0.4787398
x            2.535092   1.754963  1.4445275
I(x^2)       1.015212   0.130004  7.8090889

coef(summary(lmer(y ~ -1 + x + I(x^2) + (x+ I(x^2)|ID),df)))
       Estimate Std. Error  t value
x      1.831692  0.9780500 1.872800
I(x^2) 1.050261  0.1097583 9.568856

关于r - 具有拦截约束的lmer多级拟合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53746408/

10-12 17:05