lme4 ou autre code de package R open source équivalent à asreml-R

13

Je veux adapter un modèle mixte à l'aide de lme4, nlme, package de régression baysian ou tout autre disponible.

Modèle mixte dans les conventions de codage Asreml-R

avant d'entrer dans les détails, nous pourrions vouloir avoir des détails sur les conventions asreml-R, pour ceux qui ne sont pas familiers avec les codes ASREML.

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

le modèle mixte habituel avec, y désigne le vecteur n × 1 des observations, où τ est le vecteur p × 1 des effets fixes, X est une matrice de conception n × p de rang de colonne complet qui associe les observations à la combinaison appropriée d'e ff ets fixes , u est le vecteur q × 1 des e ff ets aléatoires, Z est la matrice de conception n × q qui associe les observations à la combinaison appropriée d'e ff ets aléatoires, et e est le vecteur n × 1 des erreurs résiduelles. Le modèle (1) est appelé un modèle mixte linéaire ou un modèle à effets mixtes linéaires. Il est supposé

entrez la description de l'image ici

où les matrices G et R sont des fonctions des paramètres γ et φ, respectivement.

Le paramètre θ est un paramètre de variance que nous appellerons paramètre d'échelle.

Dans les modèles à e ff ets mixtes avec plus d'une variance résiduelle, résultant par exemple de l'analyse de données avec plus d'une section ou variée, le paramètre θ est fixé à un. Dans les modèles à e ff ets mixtes avec une seule variance résiduelle, alors θ est égal à la variance résiduelle (σ2). Dans ce cas, R doit être une matrice de corrélation. De plus amples détails sur les modèles sont fournis dans le manuel Asreml (lien) .

Structures de variance pour les erreurs: structure R et structures de variance pour les effets aléatoires: les structures G peuvent être spécifiées.

entrez la description de l'image icientrez la description de l'image ici

modélisation de la variance dans asreml (), il est important de comprendre la formation de structures de variance via des produits directs. L'hypothèse des moindres carrés habituelle (et la valeur par défaut dans asreml ()) est que ceux-ci sont distribués de manière indépendante et identique (IID). Cependant, si les données provenaient d'une expérience sur le terrain disposée dans un tableau rectangulaire de r lignes par c colonnes, disons, nous pourrions organiser les résidus e comme une matrice et potentiellement considérer qu'ils étaient autocorrélés dans des lignes et des colonnes. un vecteur dans l'ordre des champs, c'est-à-dire qu'en triant les lignes de résidus dans les colonnes (parcelles dans les blocs), la variance des résidus pourrait alors être

entrez la description de l'image ici entrez la description de l'image icisont des matrices de corrélation pour le modèle de ligne (ordre r, paramètre d'autocorrélation ½r) et le modèle de colonne (ordre c, paramètre d'autocorrélation ½c) respectivement. Plus précisément, une structure spatiale autorégressive séparable bidimensionnelle (AR1 x AR1) est parfois supposée pour les erreurs courantes dans une analyse d'essai sur le terrain.

Les données d'exemple:

nin89 est de la bibliothèque asreml-R, où différentes variétés ont été cultivées dans des réplications / blocs dans un champ rectangulaire. Pour contrôler une variabilité supplémentaire dans la direction des lignes ou des colonnes, chaque tracé est référencé en tant que variables de ligne et de colonne (conception de colonne de ligne). Ainsi, cette conception de colonne de ligne avec blocage. Le rendement est une variable mesurée.

Exemples de modèles

J'ai besoin de quelque chose d'équivalent aux codes asreml-R:

La syntaxe du modèle simple ressemblera à ceci:

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

Le modèle linéaire est spécifié dans les arguments fixe (obligatoire), aléatoire (facultatif) et rcov (composant d'erreur) en tant qu'objets de formule. La valeur par défaut est un terme d'erreur simple et n'a pas besoin d'être spécifiée formellement pour le terme d'erreur comme dans le modèle 0. .

ici, la variété est à effet fixe et aléatoire est des répliques (blocs). Outre les termes aléatoires et fixes, nous pouvons spécifier le terme d'erreur. Ce qui est par défaut dans ce modèle 0. Le composant résiduel ou d'erreur du modèle est spécifié dans un objet de formule via l'argument rcov, voir les modèles 1: 4 suivants.

Le modèle suivant1 est plus complexe dans lequel les structures G (aléatoire) et R (erreur) sont spécifiées.

Modèle 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)

Ce modèle est équivalent au modèle 0 ci-dessus et introduit l'utilisation des modèles de variance G et R. Ici, l'option random et rcov spécifie des formules aléatoires et rcov pour spécifier explicitement les structures G et R. où idv () est la fonction de modèle spéciale dans asreml () qui identifie le modèle de variance. L'expression idv (unités) définit explicitement la matrice de variance pour e sur une identité mise à l'échelle.

# Modèle 2: modèle spatial bidimensionnel avec corrélation dans une direction

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

les unités expérimentales de nin89 sont indexées par colonne et ligne. Nous nous attendons donc à une variation aléatoire dans deux directions - direction des lignes et des colonnes dans ce cas. où ar1 () est une fonction spéciale spécifiant un modèle de variance autorégressive de premier ordre pour Row. Cet appel spécifie une structure spatiale bidimensionnelle pour l'erreur mais avec une corrélation spatiale dans la direction de la ligne uniquement. Le modèle de variance pour la colonne est l'identité (id ()) mais n'a pas besoin d'être spécifié formellement car c'est la valeur par défaut.

# modèle 3: modèle spatial bidimensionnel, structure d'erreur dans les deux sens

 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)

similaire au modèle 2 ci-dessus, mais la corrélation est bidirectionnelle - autorégressive.

Je ne sais pas combien de ces modèles sont possibles avec les packages R open source. Même si la solution de l'un de ces modèles sera d'une grande aide. Même si le bouty de +50 peut stimuler le développement d'un tel package, cela sera d'une grande aide!

Voir MAYSaseen a fourni une sortie de chaque modèle et des données (comme réponse) pour comparaison.

Modifications: Ce qui suit est une suggestion que j'ai reçue dans le forum de discussion sur les modèles mixtes: "Vous pouvez consulter les packages de régression et de covariance spatiale de David Clifford. Le premier permet l'ajustement de modèles mixtes (gaussiens) où vous pouvez spécifier la structure de la matrice de covariance de manière très flexible. (par exemple, je l'ai utilisé pour des données généalogiques.) Le package spatialCovariance utilise la régression pour fournir des modèles plus élaborés que AR1xAR1, mais peut être applicable. Vous devrez peut-être correspondre avec l'auteur pour l'appliquer à votre problème exact. "

John
la source
Je suis sûr que les modèles 2-4 ne sont pas possibles dans lme4. Pouvez-vous (a) nous dire pourquoi vous devez le faire lme4plutôt que asreml-R(b) envisager de publier sur r-sig-mixed-modelsles domaines où il existe une expertise plus pertinente?
Ben Bolker
L'idée de base est que asreml-R nécessite une licence (au moins pour les utilisateurs des pays développés), si cela est possible dans lme4 ou d'autres packages de modèles mixtes qui seraient formidables ...
John
Je pense que ce ne sera pas facile. Je pense que votre meilleur pari pourrait être de définir un nouveau corStructdans nlme(pour les corrélations anisotropes) ... Il serait utile que vous puissiez énoncer brièvement (en mots ou en équations) les modèles statistiques correspondant à ces déclarations ASREML, car nous ne sommes pas tous familiers avec Syntaxe ASREML ...
Ben Bolker
1
Ce qui suit est des commentaires dans un groupe de modèles mixtes: Vous pouvez consulter les packages de régression et de spatialCovariance de David Clifford. Le premier permet l'ajustement de modèles mixtes (gaussiens) où vous pouvez spécifier la structure de la matrice de covariance de manière très flexible (par exemple, je l'ai utilisée pour des données de pedigree). Le package spatialCovariance utilise la régression pour fournir des modèles plus élaborés que AR1xAR1, mais peut être applicable. Vous devrez peut-être correspondre avec l'auteur pour l'appliquer à votre problème exact.
John
1
si j'en ai l'occasion, j'essaierai de m'attaquer autant que possible à cela, mais franchement, je n'y arriverai peut-être pas, j'ai beaucoup à faire. Regarder dans les paquets que David Clifford a suggéré semble être une excellente idée - peut-être pouvez-vous résoudre votre propre problème de cette façon ... Je suis presque sûr que le modèle 1 peut être fait avec MCMCglmm, et je suis presque sûr que le spatialCovariancementionné, que je ne connais pas) la seule façon de le faire dans R est de définir de nouveaux corStructs - ce qui est possible, mais pas trivial.
Ben Bolker

Réponses:

4

Vous pouvez adapter ce modèle avec AD Model Builder. AD Model Builder est un logiciel gratuit pour construire des modèles non linéaires généraux, y compris des modèles d'effets aléatoires non linéaires généraux. Ainsi, par exemple, vous pourriez adapter un modèle spatial binomial négatif où la dispersion moyenne et la dispersion excessive avaient une structure ar (1) x ar (1). J'ai construit le code de cet exemple et je l'ai adapté aux données. Si quelqu'un est intéressé, il est probablement préférable d'en discuter sur la liste à http://admb-project.org

Remarque: Il existe une version R d'ADMB, mais les fonctionnalités disponibles dans le package R sont un sous-ensemble du logiciel ADMB autonome.

Pour cet exemple, il est plus facile de créer un fichier ASCII avec les données, de le lire dans le programme ADMB, d'exécuter le programme, puis de relire les estimations de paramètres, etc. dans R pour tout ce que vous voulez faire.

Vous devez comprendre qu'ADMB n'est pas une collection de packages, mais plutôt un langage pour écrire des logiciels d'estimation de paramètres non linéaires. Comme je l'ai déjà dit, il vaut mieux en discuter sur la liste ADMB où tout le monde connaît le logiciel. Une fois terminé et que vous avez compris le modèle, vous pouvez publier les résultats ici. Cependant, voici un lien vers les codes ML et REML que j'ai rassemblés pour les données sur le blé.

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

dave fournier
la source
Existe-t-il une interphase R pour se connecter à AD Model Builder?
John
1

Modèle 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
MYaseen208
la source
1

Modèle 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

Voir l'astuce

> 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
MYaseen208
la source
1

Modèle 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

Travailler sur, mais pas encore compris. Cela pourrait être quelque chose comme ça. Je ne savais toujours pas comment faire rcov=~Column:ar1(Row)avecnlme

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

Modèle 3

ASReml-R

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

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

$loglik
[1] -399.3238

$nedf
[1] 168

$sigma
[1] 6.978728

$varcomp
                 gamma  component  std.error   z.ratio    constraint
R!variance   1.0000000 48.7026395 7.15527571  6.806536      Positive
R!Column.cor 0.4375045  0.4375045 0.08060227  5.427943 Unconstrained
R!Row.cor    0.6554798  0.6554798 0.05637709 11.626704 Unconstrained

attr(,"class")
[1] "summary.asreml"
> summary(sp2.asr)$varcomp
                 gamma  component  std.error   z.ratio    constraint
R!variance   1.0000000 48.7026395 7.15527571  6.806536      Positive
R!Column.cor 0.4375045  0.4375045 0.08060227  5.427943 Unconstrained
R!Row.cor    0.6554798  0.6554798 0.05637709 11.626704 Unconstrained
> anova(sp2.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   16165.6         331.93 < 2.2e-16 ***
Variety       55    5961.7         122.41 4.866e-07 ***
residual (MS)         48.7                             
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
> coef(sp2.asr)$fixed
                         effect
Variety_ARAPAHOE     0.00000000
Variety_BRULE        0.03029321
Variety_BUCKSKIN     8.89207227
Variety_CENTURA     -0.68979639
Variety_CENTURK78    0.16461970
Variety_CHEYENNE     0.50267820
Variety_CODY        -3.26960093
Variety_COLT        -0.51826695
Variety_GAGE        -0.95824999
Variety_HOMESTEAD   -4.57873078
Variety_KS831374     0.27843476
Variety_LANCER      -2.95379384
Variety_LANCOTA     -4.67006598
Variety_NE83404     -1.32290865
Variety_NE83406     -1.66351994
Variety_NE83407     -2.64471830
Variety_NE83432     -4.42828427
Variety_NE83498      1.80418738
Variety_NE83T12     -2.11789109
Variety_NE84557     -2.34685080
Variety_NE85556      2.78001120
Variety_NE85623     -1.42164134
Variety_NE86482     -1.63334029
Variety_NE86501     -2.94339063
Variety_NE86503     -0.95747374
Variety_NE86507      0.46223383
Variety_NE86509     -3.27166458
Variety_NE86527      1.86588098
Variety_NE86582     -3.87940069
Variety_NE86606      0.22753741
Variety_NE86607      0.60702026
Variety_NE86T666   -10.27005825
Variety_NE87403     -7.43945904
Variety_NE87408     -3.10433009
Variety_NE87409      1.29746980
Variety_NE87446     -4.15943316
Variety_NE87451     -1.85324718
Variety_NE87457     -2.31156727
Variety_NE87463     -4.47086114
Variety_NE87499     -1.85909637
Variety_NE87512     -4.06473578
Variety_NE87513     -3.99604937
Variety_NE87522     -5.52109215
Variety_NE87612     -1.95543098
Variety_NE87613     -0.83160454
Variety_NE87615     -1.92104271
Variety_NE87619      2.98322047
Variety_NE87627     -7.33205188
Variety_NORKAN      -5.78418023
Variety_REDLAND      1.75249392
Variety_ROUGHRIDER  -0.97736288
Variety_SCOUT66      2.13126094
Variety_SIOUXLAND   -2.54195346
Variety_TAM107      -1.59083563
Variety_TAM200      -6.54229161
Variety_VONA        -1.52728371
(Intercept)         27.04285175

nlme

Travailler sur, mais pas encore compris. Cela pourrait être quelque chose comme ça. Je ne savais toujours pas comment faire rcov=~ar1(Column):ar1(Row)avecnlme

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

Je ne pouvais pas comprendre comment adapter les modèles 2 et 3 nlme. J'y travaille et je mettrai à jour la réponse lorsque vous aurez terminé. Mais j'ai inclus la sortie des ASReml-Rmodèles 2 et 3 à des fins de comparaison. Kevin a une bonne expérience de l'analyse de tels modèles et Ben Bolker a une merveilleuse autorité sur les modèles mixtes. J'espère qu'ils pourront nous aider sur les modèles 2 et 3.

MYaseen208
la source