Nothing
test_that("Shift array with different types", {
x0 <- as.integer(1:10)
x <- matrix(x0, nrow = 2, byrow = TRUE)
z <- shift_array(x, 2, 1, c(1,2))
y <- NA * x
y[1,1:4] <- x[1,2:5]
y[2,1:3] <- x[2,3:5]
expect_identical(y, z)
x0 <- as.double(1:10)
x <- matrix(x0, nrow = 2, byrow = TRUE)
z <- shift_array(x, 2, 1, c(-2,1))
y <- NA * x
y[1,3:5] <- x[1,1:3]
y[2,1:4] <- x[2,2:5]
expect_identical(y, z)
x0 <- as.complex(1:10)
x <- matrix(x0, nrow = 2, byrow = TRUE)
z <- shift_array(x, 2, 1, c(-2,1))
y <- NA * x
y[1,3:5] <- x[1,1:3]
y[2,1:4] <- x[2,2:5]
expect_identical(y, z)
x0 <- sample(c(TRUE, FALSE), 10, replace = TRUE)
x <- matrix(x0, nrow = 2, byrow = TRUE)
z <- shift_array(x, 2, 1, c(1,2))
y <- x
y[] <- NA
y[1,1:4] <- x[1,2:5]
y[2,1:3] <- x[2,3:5]
expect_identical(y, z)
})
test_that("Shift array with different arrays", {
dim <- c(4,15,10)
x <- array(rnorm(prod(dim)), dim)
shift_amount <- c(2,10,-3,NA)
z <- shift_array(x, along_margin = 3, unit_margin = 1, shift_amount = shift_amount)
y <- x * NA
for(ii in 1:3){
idx <- shift_amount[ii] + 1:10
sel <- idx >= 1 & idx <= 10
y[ii,, sel] <- x[ii, , idx[sel]]
}
y[4,,] <- NA
expect_identical(y, z)
shift_amount <- sample(c(-5:5, NA, NA), size = 15, replace = TRUE)
z <- shift_array(x, along_margin = 1, unit_margin = 2, shift_amount = shift_amount)
y <- x * NA
for(ii in 1:15){
idx <- shift_amount[ii] + 1:4
if(!is.na(shift_amount[ii])){
sel <- idx >= 1 & idx <= 4
y[sel,ii,] <- x[idx[sel], ii,]
}
}
expect_identical(y, z)
})
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.