Nothing
test_that("Subset with dimnames", {
x <- filearray_create(tempfile(), dimension = c(3,4,5,6))
on.exit({
x$delete()
})
y <- array(as.double(1:240), c(3,4,5,6))
x[] <- y
expect_identical(dimnames(x[]), dimnames(y))
dnames1 <- list(
A = 1:3,
B = 1:4,
NULL,
D = 1:6
)
dnames2 <- list(
A = 1:3
)
dnames3 <- list(
A = 1:3,
B = 1:4,
C = NULL,
D = NULL
)
dnames4 <- list(
A = 1:3,
B = 1:4,
C = 1:5,
D = 1:6
)
expect_error({
dimnames(x) <- list(
A = 1:4
)
})
dimnames(y) <- dnames1
dimnames(x) <- dnames1
expect_identical(dimnames(x[]), dimnames(y))
expect_identical(dimnames(x[1,1:2,2:3,1:4]), dimnames(y[1,1:2,2:3,1:4]))
expect_identical(dimnames(x[1,1:2,2:3,1:4,drop=FALSE]),
dimnames(y[1,1:2,2:3,1:4,drop=FALSE]))
expect_identical(names(x[2,1,1,1]), names(y[2,1,1,1]))
dimnames(y) <- dnames2
dimnames(x) <- dnames2
expect_identical(dimnames(x[]), dimnames(y))
expect_identical(dimnames(x[1,1:2,2:3,1:4]), dimnames(y[1,1:2,2:3,1:4]))
expect_identical(dimnames(x[1,1:2,2:3,1:4,drop=FALSE]),
dimnames(y[1,1:2,2:3,1:4,drop=FALSE]))
expect_identical(names(x[2,1,1,1]), names(y[2,1,1,1]))
dimnames(y) <- dnames3
dimnames(x) <- dnames3
expect_identical(dimnames(x[]), dimnames(y))
expect_identical(dimnames(x[1,1:2,2:3,1:4]), dimnames(y[1,1:2,2:3,1:4]))
expect_identical(dimnames(x[1,1:2,2:3,1:4,drop=FALSE]),
dimnames(y[1,1:2,2:3,1:4,drop=FALSE]))
expect_identical(names(x[2,1,1,1]), names(y[2,1,1,1]))
dimnames(y) <- dnames4
dimnames(x) <- dnames4
expect_identical(dimnames(x[]), dimnames(y))
expect_identical(dimnames(x[1,1:2,2:3,1:4]), dimnames(y[1,1:2,2:3,1:4]))
expect_identical(dimnames(x[1,1:2,2:3,1:4,drop=FALSE]),
dimnames(y[1,1:2,2:3,1:4,drop=FALSE]))
expect_identical(names(x[2,1,1,1]), names(y[2,1,1,1]))
# expand
dimnames(x) <- dnames4
x$expand(10)
expect_equal(dimnames(x)$D, c(dnames4$D, rep(NA_integer_, 4)))
})
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.