R,lme:为梯度前分析的混合模型指定随机效应

时间:2013-09-07 23:16:13

标签: r mixed-models random-effects

我正在尝试使用Before-After-Gradient方法来衡量工业发展的生物影响。我在R中使用线性混合模型方法,并且在指定适当的模型时遇到问题,尤其是随机效应。我花了很多时间研究这个,但到目前为止还没有提出一个明确的解决方案 - 至少没有我理解的解决方案。我是LMM(和R)的新手,所以欢迎任何建议。

响应变量(例如,关键物种丰度的变化)将作为距离冲击边缘的距离的函数来测量,使用沿着从边缘向外辐射的多个横断面(“梯度”)的固定距离建立的图表干扰。理想情况下,每个地块都会在撞击之前和之后多次采样;然而,为简单起见,我首先假设最简单的情况,其中每个情节在影响之前和之后采样一次。还假设各个梯度相距足够远,可以认为它们在空间上是独立的。

首先,一些模拟数据。这里的效果是线性的而不是曲线的,但你明白了。

> str(bag)
'data.frame':   30 obs. of  5 variables:
 $ Plot    : Factor w/ 15 levels "G1-D0","G1-D100",..: 1 2 4 5 3 6 7 9 10 8 ...
 $ Gradient: Factor w/ 3 levels "1","2","3": 1 1 1 1 1 2 2 2 2 2 ...
 $ Distance: Factor w/ 5 levels "0","100","300",..: 1 2 3 4 5 1 2 3 4 5 ...
 $ Period  : Factor w/ 2 levels "After","Before": 2 2 2 2 2 2 2 2 2 2 ...
 $ response: num  0.633 0.864 0.703 0.911 0.676 ...
> bag
       Plot Gradient Distance Period   response
1     G1-D0        1        0 Before 0.63258749
2   G1-D100        1      100 Before 0.86422356
3   G1-D300        1      300 Before 0.70262745
4   G1-D700        1      700 Before 0.91056851
5  G1-D1500        1     1500 Before 0.67637353
6     G2-D0        2        0 Before 0.75879579
7   G2-D100        2      100 Before 0.77981992
8   G2-D300        2      300 Before 0.87714158
9   G2-D700        2      700 Before 0.62888739
10 G2-D1500        2     1500 Before 0.83217617
11    G3-D0        3        0 Before 0.87931801
12  G3-D100        3      100 Before 0.81931761
13  G3-D300        3      300 Before 0.74489963
14  G3-D700        3      700 Before 0.68984485
15 G3-D1500        3     1500 Before 0.94942006
16    G1-D0        1        0  After 0.00010000
17  G1-D100        1      100  After 0.05338171
18  G1-D300        1      300  After 0.15846741
19  G1-D700        1      700  After 0.34909588
20 G1-D1500        1     1500  After 0.77138824
21    G2-D0        2        0  After 0.00010000
22  G2-D100        2      100  After 0.05801157
23  G2-D300        2      300  After 0.11422562
24  G2-D700        2      700  After 0.34208601
25 G2-D1500        2     1500  After 0.52606733
26    G3-D0        3        0  After 0.00010000
27  G3-D100        3      100  After 0.05418663
28  G3-D300        3      300  After 0.19295391
29  G3-D700        3      700  After 0.46279103
30 G3-D1500        3     1500  After 0.58556186

据我所知,固定效应应该是Period(Before,After)和Distance,将距离视为连续(不是因子),因此我们可以估计斜率。周期和距离之间的相互作用(相当于斜率的差异,之前与之后)测量影响。我仍在摸索如何指定随机效果。我假设我应该控制渐变之间的变化,如下所示:

result <- lme(response ~ Distance + Period + Distance:Period, random=~ 1 | Gradient, data=bag)

然而,我怀疑我可能会遗漏一些变异来源。例如,我不确定上述模型是否控制了之前和之后各个图的重新采样。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果使用一个样本/渐变,则无需指定随机效果或任何有关渐变的内容。您可以使用直接多元回归来完成此操作。在每个渐变中有多个度量后,您就可以使用您指定的模型。这是因为梯度对模型的截距有预期的主要影响,但是距离,周期及其相互作用的影响(斜率)应该是固定的。

如果您希望其他预测变量中的渐变之间存在相当大的可变性,则可以指定其他随机效果。我不确定你是如何在lme中做到的,或者即使你可以这样做,但在lmer例子中可能是:

lmer(response ~ Distance * Distance:Period + (1 + Distance | Gradient), data=bag)

这将允许距离斜率具有固定的效果分量和随渐变变化的分量。您可以查看随机效果的进一步规范,但希望您能看到一般的想法,然后您可以决定制作模型的复杂程度。