Data Set
Reading data into a tibble
s_data_file <- "https://charlotte-ngs.github.io/gelasmss2021/data/ex03p01_data.csv"
tbl_geno_data <- readr::read_csv(file = s_data_file)
── Column specification ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
cols(
Animal = col_double(),
`SNP G` = col_double(),
`SNP H` = col_double(),
Observation = col_double()
)
tbl_geno_data
Modification of original Dataset
Because we want to demonstrate the effect of having \(p>>N\) and some of the SNP loci are not important for the phenotypic observations
n_nr_obs <- 5
tbl_first_problem <- tbl_geno_data[1:n_nr_obs,]
n_nr_loci_add <- 10
vec_genotypes <- c(-1,0,1)
for (idx in 1:n_nr_loci_add){
vec_cur_geno <- sample(vec_genotypes, size = n_nr_obs, replace = TRUE)
tbl_first_problem <- bind_cols(tbl_first_problem, tibble::tibble(cur_geno = vec_cur_geno))
names(tbl_first_problem)[ncol(tbl_first_problem)] <- paste0('SNP_', idx)
}
tbl_first_problem
Mixed Linear Effect Models
There are two types of MLEM
- Marker Effect Models (MEM)
- Breeding-Value Models (BVM)
MEM
The MEM corresponds to
\[y = X\beta + Wq + e\]
The unknowns \(\beta\) and \(q\) are estimated based on Mixed Model equations.
## Matrix X
## Matrix W
## vector y
Using the above components, the mixed model equations can be setup
## Mixed model equations
## solutions
BVM
The BVM corresponds to
\[y = X\beta + Zg + e\]
The unknowns \(beta\) and \(g\) are estimated based on Mixed Model equations.
## Matrix X
## Matrix Z
# vector y
Using the above components, the mixed model equations can be setup
## Mixed model equations
## solutions
LS0tCnRpdGxlOiAiR2Vub21pYyBCcmVlZGluZyBWYWx1ZXMgVXNpbmcgTUxFTSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKCiMjIERhdGEgU2V0ClJlYWRpbmcgZGF0YSBpbnRvIGEgdGliYmxlCgpgYGB7cn0Kc19kYXRhX2ZpbGUgPC0gImh0dHBzOi8vY2hhcmxvdHRlLW5ncy5naXRodWIuaW8vZ2VsYXNtc3MyMDIxL2RhdGEvZXgwM3AwMV9kYXRhLmNzdiIKdGJsX2dlbm9fZGF0YSA8LSByZWFkcjo6cmVhZF9jc3YoZmlsZSA9IHNfZGF0YV9maWxlKQp0YmxfZ2Vub19kYXRhCmBgYAoKCiMjIyBNb2RpZmljYXRpb24gb2Ygb3JpZ2luYWwgRGF0YXNldApCZWNhdXNlIHdlIHdhbnQgdG8gZGVtb25zdHJhdGUgdGhlIGVmZmVjdCBvZiBoYXZpbmcgJHA+Pk4kIGFuZCBzb21lIG9mIHRoZSBTTlAgbG9jaSBhcmUgbm90IGltcG9ydGFudCBmb3IgdGhlIHBoZW5vdHlwaWMgb2JzZXJ2YXRpb25zCgpgYGB7cn0Kbl9ucl9vYnMgPC0gNQp0YmxfZmlyc3RfcHJvYmxlbSA8LSB0YmxfZ2Vub19kYXRhWzE6bl9ucl9vYnMsXQpuX25yX2xvY2lfYWRkIDwtIDEwCnZlY19nZW5vdHlwZXMgPC0gYygtMSwwLDEpCmZvciAoaWR4IGluIDE6bl9ucl9sb2NpX2FkZCl7CiAgdmVjX2N1cl9nZW5vIDwtIHNhbXBsZSh2ZWNfZ2Vub3R5cGVzLCBzaXplID0gbl9ucl9vYnMsIHJlcGxhY2UgPSBUUlVFKQogIHRibF9maXJzdF9wcm9ibGVtIDwtIGJpbmRfY29scyh0YmxfZmlyc3RfcHJvYmxlbSwgdGliYmxlOjp0aWJibGUoY3VyX2dlbm8gPSB2ZWNfY3VyX2dlbm8pKQogIG5hbWVzKHRibF9maXJzdF9wcm9ibGVtKVtuY29sKHRibF9maXJzdF9wcm9ibGVtKV0gPC0gcGFzdGUwKCdTTlBfJywgaWR4KQp9CnRibF9maXJzdF9wcm9ibGVtCmBgYAoKCiMjIE1peGVkIExpbmVhciBFZmZlY3QgTW9kZWxzClRoZXJlIGFyZSB0d28gdHlwZXMgb2YgTUxFTQoKMS4gTWFya2VyIEVmZmVjdCBNb2RlbHMgKE1FTSkKMi4gQnJlZWRpbmctVmFsdWUgTW9kZWxzIChCVk0pCgoKIyMjIE1FTQpUaGUgTUVNIGNvcnJlc3BvbmRzIHRvIAoKJCR5ID0gWFxiZXRhICsgV3EgKyBlJCQKClRoZSB1bmtub3ducyAkXGJldGEkIGFuZCAkcSQgYXJlIGVzdGltYXRlZCBiYXNlZCBvbiBNaXhlZCBNb2RlbCBlcXVhdGlvbnMuIAoKYGBge3J9CiMjIE1hdHJpeCBYCgojIyBNYXRyaXggVwoKIyMgdmVjdG9yIHkKYGBgCgpVc2luZyB0aGUgYWJvdmUgY29tcG9uZW50cywgdGhlIG1peGVkIG1vZGVsIGVxdWF0aW9ucyBjYW4gYmUgc2V0dXAKCmBgYHtyfQojIyBNaXhlZCBtb2RlbCBlcXVhdGlvbnMKCiMjIHNvbHV0aW9ucwoKYGBgCgoKIyMjIEJWTQpUaGUgQlZNIGNvcnJlc3BvbmRzIHRvCgokJHkgPSBYXGJldGEgKyBaZyArIGUkJAoKVGhlIHVua25vd25zICRiZXRhJCBhbmQgJGckIGFyZSBlc3RpbWF0ZWQgYmFzZWQgb24gTWl4ZWQgTW9kZWwgZXF1YXRpb25zLgoKYGBge3J9CiMjIE1hdHJpeCBYCgojIyBNYXRyaXggWgoKIyB2ZWN0b3IgeQpgYGAKCgpVc2luZyB0aGUgYWJvdmUgY29tcG9uZW50cywgdGhlIG1peGVkIG1vZGVsIGVxdWF0aW9ucyBjYW4gYmUgc2V0dXAKCmBgYHtyfQojIyBNaXhlZCBtb2RlbCBlcXVhdGlvbnMKCiMjIHNvbHV0aW9ucwoKYGBgCg==