context('select_variables')
test_that("it correctly selects variables by numeric index", {
iris2 <- iris
select_variables(iris2, 1)
expect_equal(iris2, iris[, 1, drop = FALSE])
})
test_that("it correctly selects variables by logical index", {
iris2 <- iris
select_variables(iris2, c(T,F))
expect_equal(iris2, iris[, c(1,3,5)])
})
test_that("it correctly selects variables by character index", {
iris2 <- iris
select_variables(iris2, c('Sepal.Length', 'Sepal.Width'))
expect_equal(iris2, iris[, 1:2])
})
test_that("it preserves attributes after subsetting", {
iris2 <- iris
attr(iris2, 'foo') <- 'bar'
select_variables(iris2, c('Sepal.Length', 'Sepal.Width'))
expect_identical(attr(iris2, 'foo'), 'bar')
})
test_that("it cannot process a dataframe with duplicate columns #34", {
iris2 <- iris
colnames(iris2)[1:2] <- c('x', 'x')
expect_error(select_variables(iris2, colnames(iris)[3:5]), "duplicate")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.