test_that("works with no wt/no .by", {
local_options(lifecycle_verbosity = "quiet")
test_df <- data.table(x = 1:5,
y = 6:10,
z = c(rep("a", 3), rep("b", 2)))
top_df <- test_df %>%
top_n(3)
expect_equal(top_df$x, 1:3)
expect_equal(top_df$y, 6:8)
expect_equal(top_df$z, rep("a", 3))
})
test_that("works with no wt, no .by, and .N", {
local_options(lifecycle_verbosity = "quiet")
test_df <- tidytable(x = 1:5,
y = 6:10,
z = c(rep("a", 3), rep("b", 2)))
top_df <- test_df %>%
top_n(n())
expect_equal(top_df, test_df)
})
test_that("works with no wt/no .by with data.frame", {
local_options(lifecycle_verbosity = "quiet")
test_df <- data.frame(x = 1:5,
y = 6:10,
z = c(rep("a", 3), rep("b", 2)),
stringsAsFactors = FALSE)
top_df <- test_df %>%
top_n(3)
expect_equal(top_df$x, 1:3)
expect_equal(top_df$y, 6:8)
expect_equal(top_df$z, rep("a", 3))
})
test_that("works with wt/no .by", {
local_options(lifecycle_verbosity = "quiet")
test_df <- data.table(x = 1:5,
y = 6:10,
z = c(rep("a", 3), rep("b", 2)))
top_df <- test_df %>%
top_n(3, wt = y)
expect_equal(top_df$x, c(5,4,3))
expect_equal(top_df$y, c(10,9,8))
expect_equal(top_df$z, c("b","b","a"))
})
test_that("works with wt/no .by with data.frame", {
local_options(lifecycle_verbosity = "quiet")
test_df <- data.frame(x = 1:5,
y = 6:10,
z = c(rep("a", 3), rep("b", 2)),
stringsAsFactors = FALSE)
top_df <- test_df %>%
top_n(3, wt = y)
expect_equal(top_df$x, c(5,4,3))
expect_equal(top_df$y, c(10,9,8))
expect_equal(top_df$z, c("b","b","a"))
})
test_that("works with no wt/with .by", {
local_options(lifecycle_verbosity = "quiet")
test_df <- data.table(x = 1:5,
y = 6:10,
z = c(rep("a", 3), rep("b", 2)))
top_df <- test_df %>%
top_n(2, .by = z)
expect_equal(top_df$x, c(1,2,4,5))
expect_equal(top_df$y, c(6,7,9,10))
expect_equal(top_df$z, c("a","a","b","b"))
})
test_that("works with wt/with .by", {
local_options(lifecycle_verbosity = "quiet")
test_df <- data.table(x = 1:5,
y = 6:10,
z = c(rep("a", 3), rep("b", 2)))
top_df <- test_df %>%
top_n(2, wt = y, .by = z)
expect_equal(top_df$x, c(5,4,3,2))
expect_equal(top_df$y, c(10, 9, 8, 7))
expect_equal(top_df$z, c("b","b","a","a"))
})
test_that("works with wt/with enhanced selection", {
local_options(lifecycle_verbosity = "quiet")
test_df <- data.table(x = 1:5,
y = 6:10,
z = c(rep("a", 3), rep("b", 2)))
top_df <- test_df %>%
top_n(2, wt = y, .by = where(is.character))
expect_equal(top_df$x, c(5,4,3,2))
expect_equal(top_df$y, c(10, 9, 8, 7))
expect_equal(top_df$z, c("b","b","a","a"))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.