This function solves single-kernel linear mixed model by EMMA (efficient mixed model association; Kang et al., 2008) approach.
EMM2.cpp(
y,
X = NULL,
ZETA,
eigen.G = NULL,
eigen.SGS = NULL,
tol = NULL,
optimizer = "nlminb",
traceInside = 0,
REML = TRUE,
bounds = c(1e-09, 1e+09),
SE = FALSE,
return.Hinv = FALSE
)
Estimator for \(\sigma^2_u\)
Estimator for \(\sigma^2_e\)
BLUE(\(\beta\))
BLUP(\(u\))
Maximized log-likelihood (full or restricted, depending on method)
Standard error for \(\beta\) (If SE = TRUE)
Standard error for \(u^*-u\) (If SE = TRUE)
The inverse of \(H = ZKZ' + \lambda I\) (If return.Hinv = TRUE)
A \(n \times 1\) vector. A vector of phenotypic values should be used. NA is allowed.
A \(n \times p\) matrix. You should assign mean vector (rep(1, n)) and covariates. NA is not allowed.
A list of variance (relationship) matrix (K; \(m \times m\)) and its design matrix (Z; \(n \times m\)) of random effects. You can use only one kernel matrix. For example, ZETA = list(A = list(Z = Z, K = K)) Please set names of list "Z" and "K"!
A list with
Eigen values
Eigen vectors
The result of the eigen decompsition of \(G = ZKZ'\). You can use "spectralG.cpp" function in RAINBOWR. If this argument is NULL, the eigen decomposition will be performed in this function. We recommend you assign the result of the eigen decomposition beforehand for time saving.
A list with
Eigen values
Eigen vectors
The result of the eigen decompsition of \(SGS\), where \(S = I - X(X'X)^{-1}X'\), \(G = ZKZ'\). You can use "spectralG.cpp" function in RAINBOWR. If this argument is NULL, the eigen decomposition will be performed in this function. We recommend you assign the result of the eigen decomposition beforehand for time saving.
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.
The function used in the optimization process. We offer "optim", "optimx", and "nlminb" functions.
Perform trace for the optimzation if traceInside >= 1, and this argument shows the frequency of reports.
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".
Lower and Upper bounds of the parameter lambda. If the updated parameter goes out of this range, the parameter is reset to the value in this range.
If TRUE, standard errors are calculated.
If TRUE, the function returns the inverse of \(H = ZKZ' + \lambda I\) where \(\lambda = \sigma^2_e / \sigma^2_u\). This is useful for GWAS.
Kang, H.M. et al. (2008) Efficient Control of Population Structure in Model Organism Association Mapping. Genetics. 178(3): 1709-1723.