Nothing
context("bugs [nested model calls]")
tol <- 1e-6
## nested use of BTm (in response to Jing Hua Zhao's bug report)
## example data
x <- matrix(c(0,0, 0, 2, 0,0, 0, 0, 0, 0, 0, 0,
0,0, 1, 3, 0,0, 0, 2, 3, 0, 0, 0,
2,3,26,35, 7,0, 2,10,11, 3, 4, 1,
2,3,22,26, 6,2, 4, 4,10, 2, 2, 0,
0,1, 7,10, 2,0, 0, 2, 2, 1, 1, 0,
0,0, 1, 4, 0,1, 0, 1, 0, 0, 0, 0,
0,2, 5, 4, 1,1, 0, 0, 0, 2, 0, 0,
0,0, 2, 6, 1,0, 2, 0, 2, 0, 0, 0,
0,3, 6,19, 6,0, 0, 2, 5, 3, 0, 0,
0,0, 3, 1, 1,0, 0, 0, 1, 0, 0, 0,
0,0, 0, 2, 0,0, 0, 0, 0, 0, 0, 0,
0,0, 1, 0, 0,0, 0, 0, 0, 0, 0, 0),nrow=12)
colnames(x) <- 1:12
rownames(x) <- 1:12
## function calling BTm, based on data created in function
fun1 <- function(x) {
c2b <- countsToBinomial(x)
names(c2b) <- c("allele1", "allele2", "transmitted", "nontransmitted")
btx <- BTm(cbind(transmitted, nontransmitted), allele1, allele2,
~allele, id = "allele", data = c2b)
}
## function calling BTm, based on data and variables created in function
fun2 <- function(x) {
c2b <- countsToBinomial(x)
names(c2b) <- c("allele1", "allele2", "transmitted", "nontransmitted")
denom <- with(c2b, transmitted + nontransmitted)
outcome <- with(c2b, transmitted/denom)
btx <- BTm(outcome, allele1, allele2,
~allele, id = "allele", weights = denom, data = c2b)
}
test_that("nested call to BTm works", {
# ignore family: mode of initialize changes between R versions
res <- fun1(x)
res$family <- NULL
expect_known_value(res,
file = test_path("outputs/nested.rds"),
tol = tol)
res2 <- fun2(x)
res2$family <- NULL
nm <- setdiff(names(res), c("call", "model"))
expect_equal(res[nm], res2[nm])
})
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.