test_that("slice", {
ir = as.data.table(iris)
expect_equal(
ir %>% slice_dt(1,3),
ir[c(1,3)]
)
expect_equal(
ir %>% slice_dt(1:3),
ir[1:3]
)
expect_equal(
ir %>% slice_head_dt(3),
ir %>% head(3)
)
expect_equal(
ir %>% slice_tail_dt(3),
ir %>% tail(3)
)
expect_equal(
ir %>% slice_max_dt(Sepal.Length,3),
ir[order(-Sepal.Length)][1:5]
)
expect_equal(
ir %>% slice_min_dt(Sepal.Length,3),
ir[order(Sepal.Length)][1:4]
)
expect_equal(
ir %>% slice_max_dt(Sepal.Length,3,with_ties = FALSE),
ir[order(-Sepal.Length)][1:3]
)
expect_equal(
ir %>% slice_min_dt(Sepal.Length,3,with_ties = FALSE),
ir[order(Sepal.Length)][1:3]
)
})
test_that("slice by group",{
a = as.data.table(iris)
expect_equal(
slice_dt(a,1:3,by = Species),
a[,.SD[1:3],by = Species]
)
expect_equal(
slice_dt(a,1:3,by = Species),
slice_dt(a,1:3,by = "Species")
)
expect_equal(
slice_dt(a,1:3,by = Species),
slice_dt(a,1:3,by = .(Species))
)
expect_equal(
slice_head_dt(a,2,by = Species),
a[,head(.SD,2),by = Species]
)
expect_equal(
slice_tail_dt(a,2,by = Species),
a[,tail(.SD,2),by = Species]
)
expect_equal(
slice_max_dt(a,Sepal.Length,3,by = Species),
a[,.SD[Sepal.Length %in% sort(Sepal.Length,TRUE)[1:3]],by = Species]
)
expect_equal(
slice_min_dt(a,Sepal.Length,3,by = Species),
a[,.SD[Sepal.Length %in% sort(Sepal.Length)[1:3]],by = Species]
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.