test_that("import and export fst", {
path <- paste0(tempfile(), ".fst")
write_fst(iris, path)
path2 <- paste0(tempfile(), ".fst")
export_fst(iris,path2)
expect_equal(read_fst(path,as.data.table = TRUE),import_fst(path2))
})
test_that("use fst workflow in tidyfst",{
path <- paste0(tempfile(), ".fst")
export_fst(iris, path)
ft = parse_fst(path)
ir = as.data.table(iris)
# slice
expect_equal(
ft %>% slice_fst(1:3),
ir[1:3]
)
expect_equal(
ft %>% slice_fst(c(1,3)),
ir[c(1,3)]
)
# select
expect_equal(ft %>% select_fst(Sepal.Length),ir[,"Sepal.Length"])
expect_equal(ft %>% select_fst("Sepal.Length"),ir[,"Sepal.Length"])
expect_equal(
ft %>% select_fst("Se"),
ir[,.SD,.SDcols = patterns("Se")]
)
expect_equal(
ft %>% select_fst(cols = names(ft)[2:3]),
ir[,.SD,.SDcols = names(ir)[2:3]]
)
expect_warning(ft %>% select_fst("nothing"))
#filter
expect_equal(
ft %>% filter_fst(Sepal.Width > 3),
ir[Sepal.Width > 3]
)
expect_equal(
ft %>% filter_fst(Sepal.Length > 6 & Species == "virginica" & Sepal.Width < 3),
ir[Sepal.Length > 6 & Species == "virginica" & Sepal.Width < 3]
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.