我有一列integer64
,并希望将其用作关键字,只有它不起作用,如下所示:值为NA
。
此作品
s = data.table(id=1000000107000008595, value=10)
setkey(s, id)
s[J(1000000107000008595)]
# id value
# 1: 1.00000e+18 10
这不起作用
s = data.table(id=as.integer64(1000000107000008595), value=10)
setkey(s, id)
s[J(1000000107000008595)]
# id value
# 1: 1.00000e+18 NA # <- NA is the problem
答案 0 :(得分:3)
您使用的是什么版本的R.包? 我刚试过这个:
library(bit64)
library(data.table)
s = data.table(id=1000000107000008595, value=10)
setkey(s, id)
s[J(1000000107000008595)]
s = data.table(id=as.integer64(1000000107000008595), value=10)
setkey(s, id)
s[J(1000000107000008595)]
它给了我
> s = data.table(id=1000000107000008595, value=10)
> setkey(s, id)
> s[J(1000000107000008595)]
id value
1: 1e+18 10
>
> s = data.table(id=as.integer64(1000000107000008595), value=10)
> setkey(s, id)
> s[J(1000000107000008595)]
id value
1: 1000000107000008576 10
我在
> version$version.string
[1] "R version 3.2.2 (2015-08-14)"
和sessionInfo()
说
other attached packages:
[1] data.table_1.9.6 bit64_0.9-5 bit_1.1-12