Nothing
context("node splitting")
test_that("change of baseline: simple permutations", {
expect_that(cob.matrix(old=c('X', 'A'), new=c('X', 'A')), equals(diag(1)))
expect_that(cob.matrix(old=c('X', 'A', 'B'), new=c('X', 'A', 'B')), equals(diag(2)))
expect_that(cob.matrix(old=c('X', 'A', 'B', 'C'), new=c('X', 'A', 'B', 'C')), equals(diag(3)))
expect_that(cob.matrix(old=c('X', 'B', 'A'), new=c('X', 'A', 'B')),
equals(rbind(c(0, 1), c(1, 0))))
expect_that(cob.matrix(old=c('X', 'B', 'A', 'C'), new=c('X', 'A', 'B', 'C')),
equals(rbind(c(0, 1, 0), c(1, 0, 0), c(0, 0, 1))))
})
test_that("change of baseline: change of baseline", {
expect_that(cob.matrix(old=c('A', 'B'), new=c('B', 'A')), equals(diag(-1, nrow=1)))
expect_that(cob.matrix(old=c('A', 'B', 'C', 'D'), new=c('B', 'A', 'C', 'D')),
equals(rbind(c(-1, 0, 0), c(-1, 1, 0), c(-1, 0, 1))))
})
test_that("change of baseline: shorter new", {
expect_that(cob.matrix(old=c('A', 'B', 'C', 'D'), new=c('B', 'A', 'C')),
equals(rbind(c(-1, 0, 0), c(-1, 1, 0))))
})
test_that("rewrite AB: 2-arm trials untouched", {
data.ab <- read.table(textConnection("
study treatment
s01 A
s01 B
s02 A
s02 C
s03 B
s03 C"), header=TRUE, stringsAsFactors=TRUE)
expect_that(nodesplit.rewrite.data.ab(data.ab, "A", "B"), equals(data.ab))
})
test_that("rewrite AB: 3-arm trials arm removed", {
data.ab <- read.table(textConnection("
study treatment
s01 A
s01 B
s02 A
s02 C
s03 A
s03 B
s03 C"), header=TRUE, stringsAsFactors=TRUE)
expect_that(nodesplit.rewrite.data.ab(data.ab, "A", "B"), equals(data.ab[1:6,]))
})
test_that("rewrite AB: 4+-arm trials split", {
data.ab <- read.table(textConnection("
study treatment
s01 A
s01 B
s01 C
s01 D"), header=TRUE, stringsAsFactors=TRUE)
data.ab.rewrite <- read.table(textConnection("
study treatment
s01* A
s01* B
s01** C
s01** D"), header=TRUE, stringsAsFactors=TRUE)
expect_that(nodesplit.rewrite.data.ab(data.ab, "A", "B"), equals(data.ab.rewrite))
})
test_that("rewrite RE: 2-arm trials untouched", {
data.re <- read.table(textConnection("
study treatment diff std.err
s01 A NA NA
s01 B 1.0 0.4
s02 A -1.5 0.3
s02 C NA 0.2
s03 B NA NA
s03 C 0.8 0.4"), header=TRUE, stringsAsFactors=TRUE)
expect_that(nodesplit.rewrite.data.re(data.re, "A", "B"), equals(data.re))
})
test_that("rewrite RE: 3-arm trials arm removed, baseline changed", {
data.re <- read.table(textConnection("
study treatment diff std.err
s01 A NA 0.2
s01 B 1.0 0.4
s01 C -1.5 0.3
s02 B NA 0.1
s02 A -1.2 0.3
s02 C 0.8 0.4
s03 C NA 0.1
s03 A -1.2 0.3
s03 B 0.8 0.4"), header=TRUE, stringsAsFactors=TRUE)
data.re.rewrite <- read.table(textConnection("
study treatment diff std.err
s01 A NA 0.2
s01 B 1.0 0.4
s02 A NA 0.2
s02 B 1.2 0.3
s03 A NA 0.2
s03 B 2.0 0.5"), header=TRUE, stringsAsFactors=TRUE)
levels(data.re.rewrite$treatment) <- c("A", "B", "C")
expect_that(nodesplit.rewrite.data.re(data.re, "A", "B"), equals(data.re.rewrite))
})
test_that("rewrite RE: 4+-arm trials split, baseline changed", {
data.re <- read.table(textConnection("
study treatment diff std.err
s01 B NA 0.3
s01 A 0.7 0.6
s01 C 0.9 0.5
s01 D 0.5 0.6"), header=TRUE, stringsAsFactors=TRUE)
data.re.rewrite <- read.table(textConnection("
study treatment diff std.err
s01* A NA 0.3
s01* B -0.7 0.6
s01** C NA 0.2
s01** D -0.4 0.5"), header=TRUE, stringsAsFactors=TRUE)
expect_that(nodesplit.rewrite.data.re(data.re, "A", "B"), equals(data.re.rewrite))
})
test_that("rewrite studies", {
data.re <- read.table(textConnection("
study treatment diff std.err
s01 B NA 0.3
s01 A 0.7 0.6
s01 C 0.9 0.5
s01 D 0.5 0.6"), header=TRUE, stringsAsFactors=TRUE)
data.ab <- read.table(textConnection("
study treatment mean std.err
s02 B NA 0.3
s02 A 0.7 0.6
s03 A 0.9 0.5
s03 B 0.9 0.5
s03 D 0.5 0.6"), header=TRUE, stringsAsFactors=TRUE)
studies <- read.table(textConnection("
study x
s01 1
s02 2
s03 3"), header=TRUE, stringsAsFactors=TRUE)
studies.rewrite <- read.table(textConnection("
study x
s01* 1
s01** 1
s02 2
s03 3"), header=TRUE, stringsAsFactors=FALSE)
network <- list(data.ab=data.ab, data.re=data.re, studies=studies, treatments=data.frame(id=as.factor(c("A","B","C","D"))))
expect_that(nodesplit.rewrite.studies(network, "A", "B"), equals(studies.rewrite))
})
test_that("rewrite studies with trivial studies data frame", {
data.re <- read.table(textConnection("
study treatment diff std.err
s01 B NA 0.3
s01 A 0.7 0.6
s01 C 0.9 0.5
s01 D 0.5 0.6"), header=TRUE, stringsAsFactors=TRUE)
data.ab <- read.table(textConnection("
study treatment mean std.err
s02 B NA 0.3
s02 A 0.7 0.6
s03 A 0.9 0.5
s03 B 0.9 0.5
s03 D 0.5 0.6"), header=TRUE, stringsAsFactors=TRUE)
studies <- read.table(textConnection("
study
s01
s02
s03"), header=TRUE, stringsAsFactors=TRUE)
studies.rewrite <- read.table(textConnection("
study
s01*
s01**
s02
s03"), header=TRUE, stringsAsFactors=FALSE)
network <- list(data.ab=data.ab, data.re=data.re, studies=studies, treatments=data.frame(id=as.factor(c("A","B","C","D"))))
expect_that(nodesplit.rewrite.studies(network, "A", "B"), equals(studies.rewrite))
})
## Regression test for issue #10
test_that("non-lexicographical treatment order works correctly", {
data.ab <- read.table(textConnection("
study treatment mean std.err
1 1 1 0.5
1 10 1 0.5
2 1 1 0.5
2 11 1 0.5
3 2 1 0.5
3 10 1 0.5
4 10 1 0.5
4 11 1 0.5
"), header=TRUE, stringsAsFactors=FALSE)
treatments <- read.table(textConnection("
id description
1 A
2 B
10 C
11 D
"), header=TRUE, stringsAsFactors=FALSE)
network <- mtc.network(data.ab=data.ab, treatments=treatments)
mtc.model(network, type="nodesplit", t1=10, t2=11)
succeed()
})
## Regression test for issue #22
test_that("study names do not mess up nodesplit with RE data", {
data <- read.csv("../data/ns-complex.csv")
network <- mtc.network(data.re=data)
expect_that(mtc.nodesplit.comparisons(network), equals(data.frame(t1=c("B", "D"), t2=c("D", "H"), stringsAsFactors=FALSE)))
data$study <- data$Study
data$Study <- NULL
network <- mtc.network(data.re=data)
expect_that(mtc.nodesplit.comparisons(network), equals(data.frame(t1=c("B", "D"), t2=c("D", "H"), stringsAsFactors=FALSE)))
})
## Regression test for issue #25
test_that("mixing AB and RE data will not duplicate comparisons", {
data.ab <- data.frame(study=c('1', '1', '2', '2', '4', '4'), treatment=c('A', 'B', 'A', 'C', 'B', 'C'))
data.re <- data.frame(study=c('3', '3', '3'), treatment=c('C', 'A', 'B'), diff=c(NA, 1, 1), std.err=c(0.5, 1, 1))
network <- mtc.network(data.ab=data.ab, data.re=data.re)
expect_that(mtc.nodesplit.comparisons(network), equals(data.frame(t1=c("A", "A", "B"), t2=c("B", "C", "C"), stringsAsFactors=FALSE)))
})
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.