、data.table
注文その上に設定キー:それは正しくベースsort
機能の受注、対照的にdata.tableのキーを設定すると、sort()と異なる順序が生成されますか?通常
> foo <- data.table(x = c(1234567890.02, 1234567890.01))
> setkey(foo, x)
> foo - 1234567890
x
1: 0.01999998
2: 0.00999999
:この場合
> foo <- data.table(x = c(8,6,7,5,3,0,9))
> setkey(foo, x)
> foo
x
1: 0
2: 3
3: 5
4: 6
5: 7
6: 8
7: 9
でもないが
> sort(foo$x) - 1234567890
[1] 0.00999999 0.01999998
を
data.table
のソートアルゴリズムを適用すると、精度がいくらか失われているようですが、なぜですか?
'v1.9.7'ではうまくいきました。 'library(bit64)'を読み込めますか? – akrun
'?setNumericRounding'を参照して0に設定するか、v1.9.7がデフォルトを0に変更しました。(' bit64'とは関係ありません)。 –
ああ、はい、私はv1.9.6を使用していました。 'setNumericRounding(0)'を呼び出した後は、必要に応じてそれらを順序付けします。ありがとう! :) –