test_that("Autonomy returns correct results",
{
data(iris)
cov.matrix <- cov(iris[,1:4])
beta <- Normalize(rnorm(4))
auto <- ((t (beta) %*% solve (cov.matrix) %*% beta)^(-1)) / (t (beta) %*% cov.matrix %*% beta)
expect_that(Autonomy(cov.matrix, beta), equals(as.numeric(auto)))
rmatrix <- RandomMatrix(40, 1, 1, 10)
ev <- eigen(rmatrix)
ev$values[35:40] <- 0
singular.matrix <- ev$vectors %*% diag(ev$values) %*% t(ev$vectors)
expect_warning(Autonomy(singular.matrix),
"matrix is singular, can't compute autonomy directly. Using nearPD, results could be wrong")
}
)
test_that("ConditionalEvolvability returns correct restults",
{
data(iris)
cov.matrix <- cov(iris[,1:4])
beta <- Normalize(rnorm(4))
cond.evol <- (t (beta) %*% solve (cov.matrix) %*% beta)^(-1)
expect_that(ConditionalEvolvability(cov.matrix, beta), equals(as.numeric(cond.evol)))
rmatrix <- RandomMatrix(40, 1, 1, 10)
ev <- eigen(rmatrix)
ev$values[35:40] <- 0
singular.matrix <- ev$vectors %*% diag(ev$values) %*% t(ev$vectors)
expect_warning(ConditionalEvolvability(singular.matrix),
"matrix is singular, can't compute conditional evolvability directly. Using nearPD, results could be wrong")
}
)
test_that("Constraints returns correct results",
{
data(iris)
cov.matrix <- cov(iris[,1:4])
beta = Normalize(rnorm(4))
const = abs (t (Normalize (eigen (cov.matrix)$vectors[,1])) %*% Normalize (cov.matrix %*% beta))
expect_that(Constraints(cov.matrix, beta), equals(as.numeric(const)))
}
)
test_that("Evolvability returns correct results",
{
data(iris)
cov.matrix <- cov(iris[,1:4])
beta <- Normalize(rnorm(4))
evol <- t (beta) %*% cov.matrix %*% beta
expect_that(Evolvability(cov.matrix, beta), equals(as.numeric(evol)))
}
)
test_that("Flexibility returns correct result",
{
data(iris)
beta <- Normalize(rnorm(4))
cov.matrix <- cov(iris[,1:4])
flex <- t (beta) %*% cov.matrix %*% beta / Norm (cov.matrix %*% beta)
expect_that(Flexibility(cov.matrix, beta), equals(as.numeric(flex)))
expect_true(Flexibility(cov.matrix, beta) <= 1)
expect_true(Flexibility(cov.matrix, beta) >= -1)
}
)
test_that("Pc1Percent returns correct results",
{
cov.matrix = cov(matrix(rnorm(30*10), 30, 10))
pc1 <- eigen(cov.matrix)$values[1]/sum(diag(cov.matrix))
expect_that(Pc1Percent(cov.matrix), equals(pc1))
expect_true(Pc1Percent(cov.matrix) <= 1)
expect_true(Pc1Percent(cov.matrix) > 0)
}
)
test_that("Respondability returns correct result",
{
data(iris)
beta <- Normalize(rnorm(4))
cov.matrix <- cov(iris[,1:4])
repond <- Norm(cov.matrix %*% beta)
expect_that(Respondability(cov.matrix, beta), equals(repond))
}
)
test_that("MeanMatrixStatistics returns correct results",
{
suppressWarnings(RNGversion("3.5.0"))
set.seed(42)
iris.stats <- MeanMatrixStatistics(cov(iris[,1:4]))
test.values <- read.table("iris.stats")
expect_that(iris.stats, is_equivalent_to(test.values[,1]))
}
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.