View source: R/EMM_functions_cpp.R

EM3.op | R Documentation |

This function solves the following multi-kernel linear mixed effects model
using `MMEst`

function in 'MM4LMM' package,
`lmm.aireml`

or `lmm.diago`

functions in 'gaston' package,
or `EM3.cpp`

function in 'RAINBOWR' package.

`y = X \beta + \sum _{l=1} ^ {L} Z _ {l} u _ {l} + \epsilon`

where `Var[y] = \sum _{l=1} ^ {L} Z _ {l} K _ {l} Z _ {l}' \sigma _ {l} ^ 2 + I \sigma _ {e} ^ {2}`

.

```
EM3.op(
y,
X0 = NULL,
ZETA,
eigen.G = NULL,
package = "gaston",
tol = NULL,
n.core = 1,
REML = TRUE,
pred = TRUE,
return.u.always = TRUE,
return.u.each = TRUE,
return.Hinv = TRUE
)
```

`y` |
A |

`X0` |
A |

`ZETA` |
A list of variance matrices and its design matrices of random effects. You can use more than one kernel matrix. For example, ZETA = list(A = list(Z = Z.A, K = K.A), D = list(Z = Z.D, K = K.D)) (A for additive, D for dominance) Please set names of lists "Z" and "K"! |

`eigen.G` |
A list with - $values
Eigen values - $vectors
Eigen vectors
The result of the eigen decompsition of |

`package` |
Package name to be used in this function. We only offer the following three packages: "RAINBOWR", "MM4LMM" and "gaston". Default package is 'gaston'. |

`tol` |
The tolerance for detecting linear dependencies in the columns of G = ZKZ'. Eigen vectors whose eigen values are less than "tol" argument will be omitted from results. If tol is NULL, top 'n' eigen values will be effective. |

`n.core` |
Setting n.core > 1 will enable parallel execution on a machine with multiple cores (only for 'MM4LMM'). |

`REML` |
You can choose which method you will use, "REML" or "ML". If REML = TRUE, you will perform "REML", and if REML = FALSE, you will perform "ML". |

`pred` |
If TRUE, the fitting values of y is returned. |

`return.u.always` |
When using the "gaston" package with missing values or
using the "MM4LMM" package (with/without missings), computing BLUP will take
some time in addition to solving the mixed-effects model. You can choose
whether BLUP ('u'; |

`return.u.each` |
If TRUE, the function also computes each BLUP corresponding to different kernels (when solving multi-kernel mixed-effects model). It takes additional time compared to the one with 'return.u.each = FALSE'. |

`return.Hinv` |
If TRUE, |

- $y.pred
The fitting values of y

`y = X\beta + Zu`

- $Vu
Estimator for

`\sigma^2_u`

, all of the genetic variance- $Ve
Estimator for

`\sigma^2_e`

- $beta
BLUE(

`\beta`

)- $u
BLUP(Sum of

`Zu`

)- $u.each
BLUP(Each

`u`

)- $weights
The proportion of each genetic variance (corresponding to each kernel of ZETA) to Vu

- $LL
Maximized log-likelihood (full or restricted, depending on method)

- $Vinv
The inverse of

`V = Vu \times ZKZ' + Ve \times I`

- $Hinv
The inverse of

`H = ZKZ' + \lambda I`

Kang, H.M. et al. (2008) Efficient Control of Population Structure in Model Organism Association Mapping. Genetics. 178(3): 1709-1723.

Zhou, X. and Stephens, M. (2012) Genome-wide efficient mixed-model analysis for association studies. Nat Genet. 44(7): 821-824.

Johnson, D. L., & Thompson, R. (1995). Restricted maximum likelihood estimation of variance components for univariate animal models using sparse matrix techniques and average information. Journal of dairy science, 78(2), 449-456.

Hunter, D. R., & Lange, K. (2004). A tutorial on MM algorithms. The American Statistician, 58(1), 30-37.

Zhou, H., Hu, L., Zhou, J., & Lange, K. (2015). MM algorithms for variance components models. arXiv preprint arXiv:1509.07426.

Gilmour, A. R., Thompson, R., & Cullis, B. R. (1995), Average information REML: an efficient algorithm for variance parameter estimation in linear mixed models, Biometrics, 1440-1450.

`MMEst`

, `lmm.aireml`

, `lmm.diago`

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.