R:data.table交叉联接不起作用

查克拉法蒂

我有两个data.table我想加入的(形成一个笛卡尔积)。其中一个的data.tables的键连接在一个Date载体中,而另一个上的numeric矢量:

# data.table with dates (as numeric)
dtDates2 = data.table(date = 
                       as.numeric(seq(from = as.Date('2014/01/01'), 
                           to = as.Date('2014/07/01'), by = 'weeks')),
                     data1 = rnorm(26))

# data.table with dates
dtDates1 = data.table(date = 
                        seq(from = as.Date('2014/01/01'), 
                            to = as.Date('2014/07/01'), by = 'weeks'),
                      data1 = rnorm(26))


# data.table with customer IDs
dtCustomers = data.table(customerID = seq(1, 100),
                      data2 = rnorm(100))

setkey尝试使用CJ以下方法交叉加入它们

# cross join the two datatables
setkey(dtCustomers, customerID)
setkey(dtDates1, date)
setkey(dtDates2, date)

CJ(dtCustomers, dtDates1)
CJ(dtCustomers, dtDates2)

但出现以下错误:

Error in FUN(X[[1L]], ...) : 
  Invalid column: it has dimensions. Can't format it. If it's the result of data.table(table()), use as.data.table(table()) instead.

不知道我在做什么错。

詹戈里基

data.table开箱即用没有交叉连接功能
然而,有一些CJ.dt功能(CJ类似但专为data.tables设计)可实现optiRum软件包(可在CRAN中使用)中的笛卡尔积(交叉联接)。
您可以创建函数:

CJ.dt = function(X,Y) {
  stopifnot(is.data.table(X),is.data.table(Y))
  k = NULL
  X = X[, c(k=1, .SD)]
  setkey(X, k)
  Y = Y[, c(k=1, .SD)]
  setkey(Y, NULL)
  X[Y, allow.cartesian=TRUE][, k := NULL][]
}
CJ.dt(dtCustomers, dtDates1)
CJ.dt(dtCustomers, dtDates2)

然而,为了方便地执行交叉联接,使用了FR来填充data.table#1717,因此您可以检查那里是否有更好的api用于交叉联接

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带R data.table的远程/筛选交叉联接

来自分类Dev

在函数内交叉联接data.table

来自分类Dev

交叉联接在SQL Server中不起作用

来自分类Dev

为什么`data.table :: unique`不起作用?

来自分类Dev

NaN的data.table子集不起作用

来自分类Dev

为什么`data.table :: unique`不起作用?

来自分类Dev

R knnImpute不起作用

来自分类Dev

R knnImpute不起作用

来自分类Dev

'less -R'不起作用

来自分类Dev

MDX-为什么措施之间的交叉联接不起作用?

来自分类Dev

与JDatabase联接不起作用

来自分类Dev

内部联接不起作用

来自分类Dev

联接表不起作用?

来自分类Dev

左联接不起作用

来自分类Dev

嵌套列表中的lapply data.table setDT不起作用或不是幂等的?

来自分类Dev

Vuetify v-data-table固定标头不起作用

来自分类Dev

在包中构建时,Data.table 聚合函数不起作用

来自分类Dev

R Data.Table条件联接

来自分类Dev

R data.table多个条件联接

来自分类Dev

MySQL的LOAD DATA INFILE不起作用

来自分类Dev

Spring Data JPA限制不起作用

来自分类Dev

Spring Data Couchbase @CreatedDate 不起作用

来自分类Dev

R:source_gist不起作用

来自分类Dev

R:ggplot ylim不起作用

来自分类Dev

转义r中的斜杠不起作用

来自分类Dev

Relevel在R中不起作用

来自分类Dev

R并行rbindlist不起作用

来自分类Dev

描述函数在R中不起作用

来自分类Dev

R readHTMLTable函数不起作用