context("extract")
test_that("subset with extract", {
isEqual <- function(a, b) {
testthat::expect_equal(a, b)
}
is.even <- function(x) (x %% 2) == 0
isEqual(extract(1:10, is.even), c(2, 4, 6, 8, 10))
isEqual(extract(1:10, ~ . %% 2 == 0), c(2, 4, 6, 8, 10))
isEqual(extract(1:10, c(FALSE, TRUE)), c(2, 4, 6, 8, 10))
isEqual(extract(1:10, 1:2), 1:2)
isEqual(extract(data.frame(x = 1, y = ""), is.numeric), data.frame(x = 1))
isEqual(extract(list(x = 1, y = ""), is.numeric), list(x = 1))
isEqual(extract(list(x = 1, y = ""), "y"), list(y = ""))
isEqual(extract(list(xy = 1, zy = 2), "^z"), list(zy = 2))
})
test_that("subset with extract2", {
isEqual <- function(a, b) {
testthat::expect_equal(a, b)
}
is.even <- function(x) (x %% 2) == 0
isEqual(extract2(3:4, is.even), 4)
isEqual(extract2(as.list(1:10), ~ . %% 2 == 0), 2)
isEqual(extract2(1:10, 1), 1)
isEqual(extract2(data.frame(x = 1, y = ""), is.numeric), 1)
isEqual(extract2(list(x = 1, y = ""), is.numeric), 1)
isEqual(extract2(list(x = 1, y = ""), "y"), "")
isEqual(extract2(list(xy = 1, zy = 2), "^z"), 2)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.