Nothing
library(qtl2pleio)
context("calc_covs testing")
phe <- matrix(runif(200), ncol = 2)
sex <- matrix(rbinom(100, size = 1, prob = 1 / 2), ncol = 1)
calc_covs(phe, kinship = diag(100)) -> cc1
calc_covs(phe, kinship = diag(100), covariates = sex) -> cc2
phe3 <- matrix(runif(300), ncol = 3)
phe5 <- matrix(runif(500), ncol = 5)
test_that("calc_covs returns different answers when covariates are used vs. not used", {
expect_false(identical(cc1$Vg, cc2$Vg))
expect_false(identical(cc1$Ve, cc2$Ve))
})
test_that("calc_covs, when kinship is identity, has output that sums to give same result as cov()", {
expect_equal(round(cc1$Vg + cc1$Ve, 4), round(cov(phe), 4), )
})
test_that("calc_covs accommodates d-variate phenotype for d more than 2 & Vg = Ve when kinship is identity", {
expect_equal(calc_covs(phe3, diag(100))$Vg, calc_covs(phe3, diag(100))$Ve)
expect_equal(calc_covs(phe5, diag(100))$Vg, calc_covs(phe5, diag(100))$Ve)
expect_equal(calc_covs(phe5, diag(100), covariates = sex)$Vg, calc_covs(phe5, diag(100), covariates = sex)$Ve)
})
test_that("calc_covs outputs are full rank matrices", {
expect_equal(qr(calc_covs(phe3, diag(100))$Vg)$rank, 3)
expect_equal(qr(calc_covs(phe3, diag(100))$Ve)$rank, 3)
expect_equal(qr(calc_covs(phe5, diag(100))$Ve)$rank, 5)
expect_equal(qr(calc_covs(phe5, diag(100))$Vg)$rank, 5)
expect_equal(qr(calc_covs(phe3, diag(100), covariates = sex)$Vg)$rank, 3)
expect_equal(qr(calc_covs(phe3, diag(100), covariates = sex)$Ve)$rank, 3)
expect_equal(qr(calc_covs(phe5, diag(100), covariates = sex)$Ve)$rank, 5)
expect_equal(qr(calc_covs(phe5, diag(100), covariates = sex)$Vg)$rank, 5)
})
test_that("calc_covs outputs are symmetric", {
expect_true(isSymmetric(calc_covs(phe3, diag(100))$Vg, tol = 0.001))
expect_true(isSymmetric(calc_covs(phe3, diag(100))$Ve, tol = 0.001))
expect_true(isSymmetric(calc_covs(phe5, diag(100))$Vg, tol = 0.001))
expect_true(isSymmetric(calc_covs(phe5, diag(100))$Ve, tol = 0.001))
expect_true(isSymmetric(calc_covs(phe3, diag(100), covariates = sex)$Vg, tol = 0.001))
expect_true(isSymmetric(calc_covs(phe3, diag(100), covariates = sex)$Ve, tol = 0.001))
expect_true(isSymmetric(calc_covs(phe5, diag(100), covariates = sex)$Vg, tol = 0.001))
expect_true(isSymmetric(calc_covs(phe5, diag(100), covariates = sex)$Ve, tol = 0.001))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.