Nothing
test_execute_parallel <- function() {
cl <- parallel::makeCluster(2)
# from http://www.win-vector.com/blog/2018/07/speed-up-your-r-work/
set.seed(2362)
mk_example <- function(nkey, nrep, ngroup = 20) {
keys <- paste0("key_", seq_len(nkey))
key_group <- sample(as.character(seq_len(ngroup)),
length(keys), replace = TRUE)
names(key_group) <- keys
key_table <- data.frame(
key = rep(keys, nrep),
stringsAsFactors = FALSE)
key_table$data <- runif(nrow(key_table))
instance_table <- data.frame(
key = rep(keys, nrep),
stringsAsFactors = FALSE)
instance_table$id <- seq_len(nrow(instance_table))
instance_table$info <- runif(nrow(instance_table))
# groups should be no finer than keys
key_table$key_group <- key_group[key_table$key]
instance_table$key_group <- key_group[instance_table$key]
list(key_table = key_table,
instance_table = instance_table)
}
dlist <- mk_example(5, 5, 5)
data <- dlist$instance_table
annotation <- dlist$key_table
# possible data lookup: find rows that
# have lookup data <= info
optree <- local_td(data) %.>%
natural_join(.,
local_td(annotation),
jointype = "INNER",
by = "key") %.>%
select_rows_nse(., data <= info) %.>%
pick_top_k(.,
k = 1,
partitionby = "id",
orderby = "data",
reverse = "data",
keep_order_column = FALSE) %.>%
orderby(., "id")
# cat(format(optree))
res1 <- ex_data_table(optree)
res1 <- as.data.frame(res1)
parallel::clusterEvalQ(cl,
library("rqdatatable"))
res2 <- ex_data_table_parallel(optree,
"key_group",
cl)
res2 <- as.data.frame(res2)
parallel::stopCluster(cl)
expect_equal(res1, res2)
invisible(NULL)
}
test_execute_parallel()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.