test_that("remove empty with character", {
tmp <- data.frame(
a = c(1, 2, 3, NA, 5),
b = c(1, NA, 3, NA, 5),
c = c(NA, NA, NA, NA, NA),
d = c(1, NA, 3, NA, 5)
)
expect_identical(empty_columns(tmp), c(c = 3L))
expect_identical(empty_rows(tmp), 4L)
expect_identical(dim(remove_empty_columns(tmp)), c(5L, 3L))
expect_identical(dim(remove_empty_rows(tmp)), c(4L, 4L))
expect_identical(dim(remove_empty(tmp)), c(4L, 3L))
expect_snapshot(remove_empty_columns(tmp))
expect_snapshot(remove_empty_rows(tmp))
expect_snapshot(remove_empty(tmp))
})
test_that("remove empty columns with character", {
tmp <- data.frame(
a = c(1, 2, 3, NA, 5),
b = c("", NA, "", NA, ""),
c = c(NA, NA, NA, NA, NA),
d = c(1, NA, 3, NA, 5),
e = c("", "", "", "", ""),
stringsAsFactors = FALSE
)
expect_identical(empty_columns(tmp), c(b = 2L, c = 3L, e = 5L))
expect_identical(dim(remove_empty_columns(tmp)), c(5L, 2L))
expect_identical(dim(remove_empty(tmp)), c(4L, 2L))
})
test_that("remove empty rows with character", {
tmp <- data.frame(
a = c(1, "", 3, NA, 5),
b = c("", NA, "", NA, ""),
c = c(NA, NA, NA, NA, NA),
d = c(1, NA, 3, NA, 5),
e = c("", "", "", "", ""),
f = factor(c("", "", "", "", "")),
g = factor(c("", NA, "", NA, "")),
stringsAsFactors = FALSE
)
expect_identical(empty_rows(tmp), c(2L, 4L))
expect_identical(dim(remove_empty_rows(tmp)), c(3L, 7L))
expect_identical(dim(remove_empty(tmp)), c(3L, 2L))
})
test_that("empty_columns with only NA characters", {
tmp <- data.frame(
var1 = c(1, 1, 1),
var2 = c(NA_character_, NA_character_, NA_character_)
)
expect_identical(empty_columns(tmp), c(var2 = 2L))
})
test_that("works with non-ascii chars", {
tmp <- data.frame(
a = c(1, 2, 3, NA, 5),
b = c("", NA, "", NA, ""),
c = c(NA, NA, NA, NA, NA),
d = c("test", "Se\x96ora", "works fine", "this too", "yeah"),
e = c("", "", "", "", ""),
stringsAsFactors = FALSE
)
expect_identical(empty_columns(tmp), c(b = 2L, c = 3L, e = 5L))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.