lme4或其他开源R包代码等价于asreml-R

机器算法验证 r
2022-03-12 09:35:03

我想使用 lme4、nlme、baysian 回归包或任何可用的来拟合混合模型。

Asreml-R 编码约定中的混合模型

在进入细节之前,我们可能想要了解有关 asreml-R 约定的详细信息,以供不熟悉 ASREML 代码的人使用。

y = Xτ + Zu + e ........................(1) ; 

通常的混合模型,y 表示 n × 1 的观测向量,其中 τ 是固定效应的 p×1 向量,X 是一个 n×p 的全列秩设计矩阵,它将观测与固定效应的适当组合相关联, u 是随机效应的 q × 1 向量,Z 是将观察与随机效应的适当组合相关联的 n × q 设计矩阵,e 是残差的 n × 1 向量。模型(1)称为线性混合模型或线性混合效应模型。假设

在此处输入图像描述

其中矩阵 G 和 R 分别是参数 γ 和 φ 的函数。

参数 θ 是一个方差参数,我们将其称为尺度参数。

在具有多个残余方差的混合效应模型中,例如在分析具有多个部分或变量的数据时,参数 θ 固定为 1。在具有单个残差方差的混合效应模型中,θ 等于残差方差 (σ2)。在这种情况下,R 必须是相关矩阵。Asreml 手册(链接)中提供了有关模型的更多详细信息

误差的方差结构:随机效应的 R 结构和方差结构:可以指定 G 结构。

在此处输入图像描述在此处输入图像描述

asreml() 中的方差建模重要的是要了解通过直接乘积形成的方差结构。通常的最小二乘假设(以及 asreml() 中的默认值)是它们是独立同分布 (IID)。但是,如果数据来自一个现场实验,其排列在一个 r 行 x c 列的矩形阵列中,例如,我们可以将残差 e 排列为一个矩阵,并可能认为它们在行和列内是自相关的。将残差写为一个按场序排列的向量,也就是说,通过对列内的残差行(块内的图)进行排序,残差的方差可能是

在此处输入图像描述 在此处输入图像描述分别是行模型(阶 r,自相关参数 ½r)和列模型(阶 c,自相关参数 ½c)的相关矩阵。更具体地说,对于现场试验分析中的常见错误,有时会假设二维可分离自回归空间结构 (AR1 x AR1)。

示例数据:

nin89 来自 asreml-R 库,其中不同的品种在矩形场的复制/块中生长。为了控制行或列方向的额外可变性,每个图都被称为行和列变量(行列设计)。因而这种行列设计带有阻塞。产量是测量变量。

示例模型

我需要与 asreml-R 代码等效的东西:

简单的模型语法如下所示:

 rcb.asr <- asreml(yield ∼ Variety, random = ∼ Replicate, data = nin89)  
 .....model 0

线性模型在固定(必需)、随机(可选)和 rcov(误差分量)参数中指定为公式对象。默认为简单误差项,不需要像模型 0 中那样正式指定误差项.

这里的品种是固定效应,随机是复制品(块)。除了随机和固定项,我们还可以指定误差项。此模型中默认为 0。模型的残差或误差分量通过 rcov 参数在公式对象中指定,参见以下模型 1:4。

下面的模型 1 更复杂,其中同时指定了 G(随机)和 R(错误)结构。

型号 1:

data(nin89)


 # Model 1: RCB analysis with G and R structure
     rcb.asr <- asreml(yield ~ Variety, random = ~ idv(Replicate), 
      rcov = ~ idv(units), data = nin89)

这个模型相当于上面的模型0,并且引入了G和R方差模型的使用。这里的选项 random 和 rcov 指定 random 和 rcov 公式来明确指定 G 和 R 结构。其中 idv() 是 asreml() 中标识方差模型的特殊模型函数。表达式 idv(units) 将 e 的方差矩阵显式设置为缩放单位。

# 模型2:单向相关的二维空间模型

  sp.asr <- asreml(yield ~ Variety, rcov = ~ Column:ar1(Row), data = nin89)

nin89 的实验单元由 Column 和 Row 索引。所以我们期望两个方向的随机变化 - 在这种情况下是行和列方向。其中 ar1() 是指定 Row 的一阶自回归方差模型的特殊函数。此调用为误差指定了一个二维空间结构,但仅在行方向具有空间相关性。列的方差模型是恒等式 (id()),但不需要正式指定,因为这是默认值。

# 模型3:二维空间模型,双向误差结构

 sp.asr <- asreml(yield ~ Variety, rcov = ~ ar1(Column):ar1(Row),  
 data = nin89)
sp.asr <- asreml(yield ~ Variety, random = ~ units, 
 rcov = ~ ar1(Column):ar1(Row), data = nin89)

类似于上述模型 2,但相关性是两个方向 - 自回归一个。

我不确定这些模型中有多少可以使用开源 R 包。即使这些模型中的任何一个的解决方案都会有很大帮助。就算是+50的奖励也能刺激,开发这样的包也会有很大的帮助!

请参阅 MAYSaseen 提供了每个模型和数据的输出(作为答案)以进行比较。

编辑:以下是我在混合模型讨论论坛中收到的建议: “您可以查看 David Clifford 的回归和空间协方差包。前者允许拟合(高斯)混合模型,您可以非常灵活地指定协方差矩阵的结构(例如,我将它用于谱系数据)。spatialCovariance 包使用回归来提供比 AR1xAR1 更精细的模型,但可能适用。您可能需要与作者通信才能将其应用于您的确切问题。

4个回答

您可以使用 AD 模型生成器拟合此模型。AD Model Builder 是用于构建一般非线性模型的免费软件,包括一般非线性随机效应模型。因此,例如,您可以拟合一个负二项式空间模型,其中均值和过度离散都具有 ar(1) x ar(1) 结构。我为这个示例构建了代码并将其拟合到数据中。如果有人感兴趣,最好在 http://admb-project.org的列表中讨论这个问题

注意:有一个 R 版本的 ADMB,但 R 包中可用的功能是独立 ADMB 软件的子集。

对于此示例,使用数据创建一个 ASCII 文件更容易,将其读入 ADMB 程序,运行程序,然后将参数估计值等读回 R 以执行您想做的任何事情。

你应该明白,ADMB 不是一个包的集合,而是一种用于编写非线性参数估计软件的语言。正如我之前所说,最好在每个人都知道该软件的 ADMB 列表上讨论这个问题。完成并了解模型后,您可以在此处发布结果。然而,这是我为小麦数据放在一起的 ML 和 REML 代码的链接。

http://lists.admb-project.org/pipermail/users/attachments/20111124/448923c8/attachment.zip

型号 0

ASReml-R

rcb0.asr <- asreml(yield~Variety, random=~Rep, data=nin89, na.method.X="include")
summary(rcb0.asr)
$call
asreml(fixed = yield ~ Variety, random = ~Rep, data = nin89, 
    na.method.X = "include")

$loglik
[1] -454.4691

$nedf
[1] 168

$sigma
[1] 7.041475

$varcomp
                gamma component std.error  z.ratio constraint
Rep!Rep.var 0.1993231  9.882911  8.792829 1.123974   Positive
R!variance  1.0000000 49.582368  5.458839 9.082951   Positive

attr(,"class")
[1] "summary.asreml"

summary(rcb0.asr)$varcomp
                gamma component std.error  z.ratio constraint
Rep!Rep.var 0.1993231  9.882911  8.792829 1.123974   Positive
R!variance  1.0000000 49.582368  5.458839 9.082951   Positive

> anova(rcb0.asr)
Wald tests for fixed effects

Response: yield

Terms added sequentially; adjusted for those above

              Df Sum of Sq Wald statistic Pr(Chisq)    
(Intercept)    1   12001.6        242.054    <2e-16 ***
Variety       55    2387.5         48.152    0.7317    
residual (MS)         49.6                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
> coef(rcb0.asr)$fixed
                    effect
Variety_ARAPAHOE    0.0000
Variety_BRULE      -3.3625
Variety_BUCKSKIN   -3.8750
Variety_CENTURA    -7.7875
Variety_CENTURK78   0.8625
Variety_CHEYENNE   -1.3750
Variety_CODY       -8.2250
Variety_COLT       -2.4375
Variety_GAGE       -4.9250
Variety_HOMESTEAD  -1.8000
Variety_KS831374   -5.3125
Variety_LANCER     -0.8750
Variety_LANCOTA    -2.8875
Variety_NE83404    -2.0500
Variety_NE83406    -5.1625
Variety_NE83407    -6.7500
Variety_NE83432    -9.7125
Variety_NE83498     0.6875
Variety_NE83T12    -7.8750
Variety_NE84557    -8.9125
Variety_NE85556    -3.0500
Variety_NE85623    -7.7125
Variety_NE86482    -5.1500
Variety_NE86501     1.5000
Variety_NE86503     3.2125
Variety_NE86507    -5.6500
Variety_NE86509    -2.5875
Variety_NE86527    -7.4250
Variety_NE86582    -4.9000
Variety_NE86606     0.3250
Variety_NE86607    -0.1125
Variety_NE86T666   -7.9000
Variety_NE87403    -4.3125
Variety_NE87408    -3.1375
Variety_NE87409    -8.0625
Variety_NE87446    -1.7625
Variety_NE87451    -4.8250
Variety_NE87457    -5.5250
Variety_NE87463    -3.5250
Variety_NE87499    -9.0250
Variety_NE87512    -6.1875
Variety_NE87513    -2.6250
Variety_NE87522    -4.4375
Variety_NE87612    -7.6375
Variety_NE87613    -0.0375
Variety_NE87615    -3.7500
Variety_NE87619     1.8250
Variety_NE87627    -6.2125
Variety_NORKAN     -5.0250
Variety_REDLAND     1.0625
Variety_ROUGHRIDER -8.2500
Variety_SCOUT66    -1.9125
Variety_SIOUXLAND   0.6750
Variety_TAM107     -1.0375
Variety_TAM200     -8.2000
Variety_VONA       -5.8375
(Intercept)        29.4375
> coef(rcb0.asr)$random
          effect
Rep_1  1.8795997
Rep_2  2.8432659
Rep_3 -0.8712739
Rep_4 -3.8515918

lme4

> rcb0.lmer <- lmer(yield~Variety+(1|Rep), data=nin89)
> print(rcb0.lmer, corr=FALSE)
Linear mixed model fit by REML 
Formula: yield ~ Variety + (1 | Rep) 
   Data: nin89 
  AIC  BIC logLik deviance REMLdev
 1334 1532 -608.9     1456    1218
Random effects:
 Groups   Name        Variance Std.Dev.
 Rep      (Intercept)  9.8829  3.1437  
 Residual             49.5824  7.0415  
Number of obs: 224, groups: Rep, 4

Fixed effects:
                  Estimate Std. Error t value
(Intercept)        29.4375     3.8556   7.635
VarietyBRULE       -3.3625     4.9791  -0.675
VarietyBUCKSKIN    -3.8750     4.9791  -0.778
VarietyCENTURA     -7.7875     4.9791  -1.564
VarietyCENTURK78    0.8625     4.9791   0.173
VarietyCHEYENNE    -1.3750     4.9791  -0.276
VarietyCODY        -8.2250     4.9791  -1.652
VarietyCOLT        -2.4375     4.9791  -0.490
VarietyGAGE        -4.9250     4.9791  -0.989
VarietyHOMESTEAD   -1.8000     4.9791  -0.362
VarietyKS831374    -5.3125     4.9791  -1.067
VarietyLANCER      -0.8750     4.9791  -0.176
VarietyLANCOTA     -2.8875     4.9791  -0.580
VarietyNE83404     -2.0500     4.9791  -0.412
VarietyNE83406     -5.1625     4.9791  -1.037
VarietyNE83407     -6.7500     4.9791  -1.356
VarietyNE83432     -9.7125     4.9791  -1.951
VarietyNE83498      0.6875     4.9791   0.138
VarietyNE83T12     -7.8750     4.9791  -1.582
VarietyNE84557     -8.9125     4.9791  -1.790
VarietyNE85556     -3.0500     4.9791  -0.613
VarietyNE85623     -7.7125     4.9791  -1.549
VarietyNE86482     -5.1500     4.9791  -1.034
VarietyNE86501      1.5000     4.9791   0.301
VarietyNE86503      3.2125     4.9791   0.645
VarietyNE86507     -5.6500     4.9791  -1.135
VarietyNE86509     -2.5875     4.9791  -0.520
VarietyNE86527     -7.4250     4.9791  -1.491
VarietyNE86582     -4.9000     4.9791  -0.984
VarietyNE86606      0.3250     4.9791   0.065
VarietyNE86607     -0.1125     4.9791  -0.023
VarietyNE86T666    -7.9000     4.9791  -1.587
VarietyNE87403     -4.3125     4.9791  -0.866
VarietyNE87408     -3.1375     4.9791  -0.630
VarietyNE87409     -8.0625     4.9791  -1.619
VarietyNE87446     -1.7625     4.9791  -0.354
VarietyNE87451     -4.8250     4.9791  -0.969
VarietyNE87457     -5.5250     4.9791  -1.110
VarietyNE87463     -3.5250     4.9791  -0.708
VarietyNE87499     -9.0250     4.9791  -1.813
VarietyNE87512     -6.1875     4.9791  -1.243
VarietyNE87513     -2.6250     4.9791  -0.527
VarietyNE87522     -4.4375     4.9791  -0.891
VarietyNE87612     -7.6375     4.9791  -1.534
VarietyNE87613     -0.0375     4.9791  -0.008
VarietyNE87615     -3.7500     4.9791  -0.753
VarietyNE87619      1.8250     4.9791   0.367
VarietyNE87627     -6.2125     4.9791  -1.248
VarietyNORKAN      -5.0250     4.9791  -1.009
VarietyREDLAND      1.0625     4.9791   0.213
VarietyROUGHRIDER  -8.2500     4.9791  -1.657
VarietySCOUT66     -1.9125     4.9791  -0.384
VarietySIOUXLAND    0.6750     4.9791   0.136
VarietyTAM107      -1.0375     4.9791  -0.208
VarietyTAM200      -8.2000     4.9791  -1.647
VarietyVONA        -5.8375     4.9791  -1.172
> anova(rcb0.lmer)
Analysis of Variance Table
        Df Sum Sq Mean Sq F value
Variety 55 2387.5  43.409  0.8755
> fixef(rcb0.lmer)
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 
> ranef(rcb0.lmer)
$Rep
  (Intercept)
1   1.8798700
2   2.8436747
3  -0.8713991
4  -3.8521455

nlme

> rcb0.lme <- lme(yield~Variety, random=~1|Rep, data=na.omit(nin89))
> print(rcb0.lme, corr=FALSE)
Linear mixed-effects model fit by REML
  Data: na.omit(nin89) 
  Log-restricted-likelihood: -608.8508
  Fixed: yield ~ Variety 
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 

Random effects:
 Formula: ~1 | Rep
        (Intercept) Residual
StdDev:     3.14371 7.041475

Number of Observations: 224
Number of Groups: 4 
> anova(rcb0.lme)
            numDF denDF   F-value p-value
(Intercept)     1   165 242.05402  <.0001
Variety        55   165   0.87549  0.7119
> fixef(rcb0.lme)
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 
> ranef(rcb0.lme)
  (Intercept)
1   1.8795997
2   2.8432659
3  -0.8712739
4  -3.8515918

模型 1

ASReml-R

> rcb.asr <- asreml(yield~Variety, random=~idv(Rep), rcov=~idv(units), data=nin89, na.method.X="include")
> summary(rcb.asr)
$call
asreml(fixed = yield ~ Variety, random = ~idv(Rep), rcov = ~idv(units), 
    data = nin89, na.method.X = "include")

$loglik
[1] -454.4691

$nedf
[1] 168

$sigma
[1] 1

$varcomp
                gamma component std.error  z.ratio constraint
Rep!Rep.var  9.882911  9.882911  8.792823 1.123975   Positive
R!variance   1.000000  1.000000        NA       NA      Fixed
R!units.var 49.582368 49.582368  5.458839 9.082951   Positive

attr(,"class")
[1] "summary.asreml"
> summary(rcb0.asr)$varcomp
                gamma component std.error  z.ratio constraint
Rep!Rep.var 0.1993231  9.882911  8.792829 1.123974   Positive
R!variance  1.0000000 49.582368  5.458839 9.082951   Positive
> anova(rcb.asr)
Wald tests for fixed effects

Response: yield

Terms added sequentially; adjusted for those above

              Df Sum of Sq Wald statistic Pr(Chisq)    
(Intercept)    1   242.054        242.054    <2e-16 ***
Variety       55    48.152         48.152    0.7317    
residual (MS)        1.000                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
> coef(rcb.asr)$fixed
                    effect
Variety_ARAPAHOE    0.0000
Variety_BRULE      -3.3625
Variety_BUCKSKIN   -3.8750
Variety_CENTURA    -7.7875
Variety_CENTURK78   0.8625
Variety_CHEYENNE   -1.3750
Variety_CODY       -8.2250
Variety_COLT       -2.4375
Variety_GAGE       -4.9250
Variety_HOMESTEAD  -1.8000
Variety_KS831374   -5.3125
Variety_LANCER     -0.8750
Variety_LANCOTA    -2.8875
Variety_NE83404    -2.0500
Variety_NE83406    -5.1625
Variety_NE83407    -6.7500
Variety_NE83432    -9.7125
Variety_NE83498     0.6875
Variety_NE83T12    -7.8750
Variety_NE84557    -8.9125
Variety_NE85556    -3.0500
Variety_NE85623    -7.7125
Variety_NE86482    -5.1500
Variety_NE86501     1.5000
Variety_NE86503     3.2125
Variety_NE86507    -5.6500
Variety_NE86509    -2.5875
Variety_NE86527    -7.4250
Variety_NE86582    -4.9000
Variety_NE86606     0.3250
Variety_NE86607    -0.1125
Variety_NE86T666   -7.9000
Variety_NE87403    -4.3125
Variety_NE87408    -3.1375
Variety_NE87409    -8.0625
Variety_NE87446    -1.7625
Variety_NE87451    -4.8250
Variety_NE87457    -5.5250
Variety_NE87463    -3.5250
Variety_NE87499    -9.0250
Variety_NE87512    -6.1875
Variety_NE87513    -2.6250
Variety_NE87522    -4.4375
Variety_NE87612    -7.6375
Variety_NE87613    -0.0375
Variety_NE87615    -3.7500
Variety_NE87619     1.8250
Variety_NE87627    -6.2125
Variety_NORKAN     -5.0250
Variety_REDLAND     1.0625
Variety_ROUGHRIDER -8.2500
Variety_SCOUT66    -1.9125
Variety_SIOUXLAND   0.6750
Variety_TAM107     -1.0375
Variety_TAM200     -8.2000
Variety_VONA       -5.8375
(Intercept)        29.4375
> coef(rcb.asr)$random
          effect
Rep_1  1.8795997
Rep_2  2.8432658
Rep_3 -0.8712738
Rep_4 -3.8515916

nlme

看诀窍

> nin89$Int <- 1
> rcb.lme <- lme(yield~Variety, random=list(Int=pdIdent(~Rep-1)), data=na.omit(nin89))
> print(rcb.lme, corr=FALSE)
Linear mixed-effects model fit by REML
  Data: na.omit(nin89) 
  Log-restricted-likelihood: -608.8508
  Fixed: yield ~ Variety 
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 

Random effects:
 Formula: ~Rep - 1 | Int
 Structure: Multiple of an Identity
           Rep1    Rep2    Rep3    Rep4 Residual
StdDev: 3.14371 3.14371 3.14371 3.14371 7.041475

Number of Observations: 224
Number of Groups: 1 
> anova(rcb.lme)
            numDF denDF   F-value p-value
(Intercept)     1   168 242.05402  <.0001
Variety        55   168   0.87549  0.7121
> fixef(rcb.lme)
      (Intercept)      VarietyBRULE   VarietyBUCKSKIN    VarietyCENTURA 
          29.4375           -3.3625           -3.8750           -7.7875 
 VarietyCENTURK78   VarietyCHEYENNE       VarietyCODY       VarietyCOLT 
           0.8625           -1.3750           -8.2250           -2.4375 
      VarietyGAGE  VarietyHOMESTEAD   VarietyKS831374     VarietyLANCER 
          -4.9250           -1.8000           -5.3125           -0.8750 
   VarietyLANCOTA    VarietyNE83404    VarietyNE83406    VarietyNE83407 
          -2.8875           -2.0500           -5.1625           -6.7500 
   VarietyNE83432    VarietyNE83498    VarietyNE83T12    VarietyNE84557 
          -9.7125            0.6875           -7.8750           -8.9125 
   VarietyNE85556    VarietyNE85623    VarietyNE86482    VarietyNE86501 
          -3.0500           -7.7125           -5.1500            1.5000 
   VarietyNE86503    VarietyNE86507    VarietyNE86509    VarietyNE86527 
           3.2125           -5.6500           -2.5875           -7.4250 
   VarietyNE86582    VarietyNE86606    VarietyNE86607   VarietyNE86T666 
          -4.9000            0.3250           -0.1125           -7.9000 
   VarietyNE87403    VarietyNE87408    VarietyNE87409    VarietyNE87446 
          -4.3125           -3.1375           -8.0625           -1.7625 
   VarietyNE87451    VarietyNE87457    VarietyNE87463    VarietyNE87499 
          -4.8250           -5.5250           -3.5250           -9.0250 
   VarietyNE87512    VarietyNE87513    VarietyNE87522    VarietyNE87612 
          -6.1875           -2.6250           -4.4375           -7.6375 
   VarietyNE87613    VarietyNE87615    VarietyNE87619    VarietyNE87627 
          -0.0375           -3.7500            1.8250           -6.2125 
    VarietyNORKAN    VarietyREDLAND VarietyROUGHRIDER    VarietySCOUT66 
          -5.0250            1.0625           -8.2500           -1.9125 
 VarietySIOUXLAND     VarietyTAM107     VarietyTAM200       VarietyVONA 
           0.6750           -1.0375           -8.2000           -5.8375 
> ranef(rcb.lme)
    Rep1     Rep2       Rep3      Rep4
1 1.8796 2.843266 -0.8712739 -3.851592

模型 2

ASReml-R

sp1.asr <- asreml(yield~Variety, rcov=~Column:ar1(Row), data=nin89, na.method.X="include")

> summary(sp1.asr)
$call
asreml(fixed = yield ~ Variety, rcov = ~Column:ar1(Row), data = nin89, 
    na.method.X = "include")

$loglik
[1] -408.1412

$nedf
[1] 168

$sigma
[1] 7.975127

$varcomp
               gamma  component  std.error   z.ratio    constraint
R!variance 1.0000000 63.6026561 11.3182328  5.619486      Positive
R!Row.cor  0.7795799  0.7795799  0.0406026 19.200245 Unconstrained

attr(,"class")
[1] "summary.asreml"
> summary(sp1.asr)$varcomp
               gamma  component  std.error   z.ratio    constraint
R!variance 1.0000000 63.6026561 11.3182328  5.619486      Positive
R!Row.cor  0.7795799  0.7795799  0.0406026 19.200245 Unconstrained
> anova(sp1.asr)
Wald tests for fixed effects

Response: yield

Terms added sequentially; adjusted for those above

              Df Sum of Sq Wald statistic Pr(Chisq)    
(Intercept)    1   24604.3         386.84 < 2.2e-16 ***
Variety       55    7974.4         125.38 2.048e-07 ***
residual (MS)         63.6                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
> coef(sp1.asr)$fixed
                        effect
Variety_ARAPAHOE     0.0000000
Variety_BRULE       -2.4048816
Variety_BUCKSKIN     7.8064972
Variety_CENTURA     -1.6997427
Variety_CENTURK78   -1.3829446
Variety_CHEYENNE    -1.1113084
Variety_CODY        -6.7461911
Variety_COLT        -1.7963394
Variety_GAGE        -3.4539524
Variety_HOMESTEAD   -5.5877510
Variety_KS831374    -0.8589476
Variety_LANCER      -2.8418476
Variety_LANCOTA     -5.9394801
Variety_NE83404     -3.4112613
Variety_NE83406     -1.9057358
Variety_NE83407     -3.2563922
Variety_NE83432     -5.4594311
Variety_NE83498      0.6446010
Variety_NE83T12     -4.0071361
Variety_NE84557     -4.2005181
Variety_NE85556      1.4836395
Variety_NE85623     -2.7617129
Variety_NE86482     -1.4309381
Variety_NE86501     -2.2287462
Variety_NE86503     -0.4557866
Variety_NE86507     -0.6983418
Variety_NE86509     -3.9215624
Variety_NE86527      0.5294386
Variety_NE86582     -5.4653632
Variety_NE86606     -0.7291575
Variety_NE86607     -0.1265536
Variety_NE86T666   -12.1437291
Variety_NE87403     -7.4623631
Variety_NE87408     -3.3586380
Variety_NE87409     -1.0360336
Variety_NE87446     -4.9030958
Variety_NE87451     -3.2836149
Variety_NE87457     -3.5244583
Variety_NE87463     -3.8427658
Variety_NE87499     -4.6298393
Variety_NE87512     -5.3760809
Variety_NE87513     -5.5656241
Variety_NE87522     -7.6500899
Variety_NE87612     -2.7225851
Variety_NE87613     -0.8793319
Variety_NE87615     -4.0089291
Variety_NE87619      0.7975626
Variety_NE87627    -10.1315147
Variety_NORKAN      -7.1804945
Variety_REDLAND      0.6753066
Variety_ROUGHRIDER  -0.9637487
Variety_SCOUT66      0.7088916
Variety_SIOUXLAND   -1.1998807
Variety_TAM107      -3.7160351
Variety_TAM200      -9.0340942
Variety_VONA        -2.7970689
(Intercept)         28.3487457

nlme

工作中,但还没有弄清楚。可能是这样的。还是想不通怎么rcov=~Column:ar1(Row)nlme

nin89$Int <- 1
sp1.lme <- lme(yield~Variety, random=~1|Int, data=na.omit(nin89))