Henderson's mixed model equations give the fixed and genomic effects jointly. With G the identity the random block is ridge regression with penalty sigma_e^2/sigma_u^2, which is the closed form the tests check; as the penalty tends to zero the system tends to ordinary least squares on the concatenated design. G is ridged before inversion because VanRaden's G is singular whenever markers outnumber individuals.
References
VanRaden (2008), Efficient methods to compute genomic predictions, Journal of Dairy Science 91(11):4414-4423. doi:10.3168/jds.2007-0980
Examples
set.seed(1)
n <- 30; q <- 5
X <- cbind(1, rnorm(n))
Z <- matrix(rbinom(n * q, 1, 0.5), n, q)
G <- diag(q)
u <- rnorm(q)
y <- X %*% c(1, 0.5) + Z %*% u + rnorm(n)
Gblupr(y, X, Z, G)
#> $estimate
#> [1] 1.702658
#>
#> $beta
#> [1] 1.0592993 0.6084397
#>
#> $u
#> [1] 1.7026579 0.7036307 0.7868724 0.1840810 1.5995863
#>
#> $fitted
#> [1] 3.3517511 1.3551161 2.8540867 4.3331485 6.2366131 1.2637244
#> [7] 3.9264101 4.8107695 3.7128446 5.6662361 5.0692164 3.1832342
#> [13] 0.6813118 2.9859583 3.4183360 5.1210764 3.5389787 4.0200254
#> [19] 4.9362048 6.2133997 3.2930257 4.9124240 2.8883349 -0.1511013
#> [25] 3.9259561 2.8088156 5.1544630 1.1353884 0.9524547 4.5877619
#>
#> $residual_ss
#> [1] 12.21944
#>
#> $lambda
#> [1] 1
#>
#> $n
#> [1] 30
#>
#> $method
#> [1] "Henderson mixed model equations with G from VanRaden (2008)"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
