Nothing
test_that("Multivariate Response throws an error", {
set.seed(12891026)
## Tree
ntips <- 10
tree <- ape::rphylo(ntips, 0.1, 0)
## multivariate data
ntraits <- 2
y_data <- phylolm::rTrait(ntraits, tree, model = "BM", parameters = list(sigma2 = 1))
## Condition
cond <- sample(c(0, 1), ntips, replace = TRUE)
names(cond) <- tree$tip.label
y_data[cond == 1, ] <- y_data[cond == 1, ] + 5 ## strong effect
## Data frame
all_dat <- data.frame(y = y_data, cond = cond)
## Univariate fits (various specifications, all equal)
fit1 <- phylolm(y_data[, 1] ~ cond, phy = tree)
fit2 <- phylolm(y_data[, 1, drop = FALSE] ~ cond, phy = tree)
fit3 <- phylolm(y.1 ~ cond, phy = tree, data = all_dat)
expect_equal(fit1[!(names(fit1) %in% c("call", "formula", "model.frame"))],
fit2[!(names(fit1) %in% c("call", "formula", "model.frame"))])
expect_equal(fit1[!(names(fit1) %in% c("call", "formula", "model.frame"))],
fit3[!(names(fit1) %in% c("call", "formula", "model.frame"))])
## Multivariate fits throw errors
expect_error(phylolm(y_data ~ cond, phy = tree),
"'phylolm' can only handle a simple \\(univariate\\) response vector y.")
expect_error(phylolm(cbind(y.1, y.2) ~ cond, phy = tree, data = all_dat),
"'phylolm' can only handle a simple \\(univariate\\) response vector y.")
})
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.