使用integer64键连接错误

使用integer64键连接错误,r,data.table,R,Data.table,尝试联接以integer64值列作为主键的表时,我遇到了一个意外错误。以下说明了这些问题-- 提前谢谢。请回答一个开放性问题。现在(1.9.5)已按预期进行处理。 整数64列上的联接返回与数值字段上的联接相同的结果。请提交错误报告错误消息表明整数64存在更深层次的问题,因为z[x,allow.cartesian=TRUE]显示了合并尝试执行的操作字段:检查。您可以尝试1.9.3(仅在RForge上,而不是CRAN上) Keys as int ----------- x <- data.ta

尝试联接以integer64值列作为主键的表时,我遇到了一个意外错误。以下说明了这些问题--


提前谢谢。

请回答一个开放性问题。现在(1.9.5)已按预期进行处理。

整数64列上的联接返回与数值字段上的联接相同的结果。

请提交错误报告错误消息表明整数64存在更深层次的问题,因为
z[x,allow.cartesian=TRUE]
显示了合并尝试执行的操作字段:检查。您可以尝试1.9.3(仅在RForge上,而不是CRAN上)
Keys as int
-----------
x <- data.table(c1=c(1,2,3), c3=c(10,20,30))
z <- data.table(c1=c(1,2), c2=c(100,200))

setkey(x, c1)
setkey(z, c1)

> z[x]          # Join works fine

   c1  c2 c3
1:  1 100 10
2:  2 200 20
3:  3  NA 30


As integer64
------------

library(bit64)
x[,c1:=as.integer64(c1)]
z[,c1:=as.integer64(c1)]

setkey(x, c1)
setkey(z, c1)

> z[x]       # Same join, but generates error message

Error in vecseq(f__, len__, if (allow.cartesian) NULL else as.integer(max(nrow(x),  : 
Join results in 6 rows; more than 3 = max(nrow(x),nrow(i)). Check for duplicate key values 
in i, each of which join to the same group in x over and over again. If that's ok, try 
including `j` and dropping `by` (by-without-by) so that j runs for each group to avoid the 
large allocation. If you are sure you wish to proceed, rerun with allow.cartesian=TRUE. 
Otherwise, please search for this error message in the FAQ, Wiki, Stack Overflow and 
datatable-help for advice.
> sessionInfo()
R version 3.0.1 (2013-05-16)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

... 
other attached packages:
[1] bit64_0.9-2       bit_1.1-10        cluster_1.14.4    skmeans_0.2-4     ggplot2_0.9.3.1  
[6] data.table_1.8.11