我有一个数据集df
,其结构如下:
Date Level1 Level2 Level3 Level4 x1 x2 y
2018-01-01 aaa A111 A11 A1 m x 10.2
2018-01-01 ddd A111 A11 A1 n y 4.5
2018-01-02 mmm A121 A12 A1 n x 6.1
2018-01-03 aaa A211 A21 A2 o x 20.5
2018-01-04 ccc A211 A22 A2 m z 1.6
...
2018-02-01 aaa A111 A11 A1 m x 5.5
2018-02-02 ddd A111 A11 A1 n y 3.8
2018-02-02 mmm A121 A12 A2 0 x 1.2
...
所以,这里的层次结构是Level1 (lowest) <- Level2 <- Level3 <- Level4 (highest)
。
x1
和x2
是可以取值的因素,m, n, o
和x,y,z
和y
是我们试图预测的连续值。
如图所示,可以在不同日期重复相同的级别和x组合(第1,2,3行在底行重复)。
我是这种多级建模的新手。我最初的尝试是使用lmer
包中的lme4
函数,如下所示:
model <- lmer(y ~ x1 + x2
(1 | Level4:Level3) +
(1 | Level3:Level2) +
(1 | Level2:Level1),
data=df)
我不确定这是为这些数据创建模型的正确方法。如何使用Date
列?它可以是模型中的另一个级别吗?