小编gar*_*org的帖子

data.table的CJ应该继续适应具有重复元素的参数吗?

(编辑:@Arun清理并修复了下面的代码,并在R-Forge的data.table中替换了'CJ'.功能请求:#4849;更快的CJ 和更新为什么expand.grid比data.table快? CJ?)

在我看来CJ,意味着研究满足的论证向量anyDuplicated(vector) == F.

有没有人用非独特的参数?

如果是这样,是否值得在我认为主要用途的100倍速度上进行平衡?

通过调整主要用途来降低速度的下限(这些样本参数的下限,而不是任何参数的下限):

比较:

Unit: milliseconds
                  expr        min         lq     median         uq      max neval
    dt1 <- CJ(a, b, c) 3149.15293 3166.59638 3204.95956 3472.70826 4414.919   100
dt2 <- fastCJ(a, b, c)   22.85207   23.16003   23.43691   24.04215 1208.855   100
Output identical: TRUE
Run Code Online (Sandbox Code Playgroud)

码:

library(microbenchmark)
library(data.table)

repTE <- function(x, times, each) {
  rep.int(rep.int(x, times=rep.int(each, times=length(x))), times=times)
}
fastCJ <- function(...) {
  arg_list <- list(...)
  l <- lapply(arg_list, sort.int, method="quick")
  seq_ct <- length(l) …
Run Code Online (Sandbox Code Playgroud)

r data.table

5
推荐指数
1
解决办法
367
查看次数

标签 统计

data.table ×1

r ×1