R 指数表示回避でoptions(scipen )は大丈夫か?

Pocket

Rを使っていて、大きな数字が指数表示になってしまうことを避けたいということがあります。

今回遭遇したのは、13桁の整数値です。

実際に試したのは、9223372036854775807(19桁)の数字。

符号付き64ビット整数の最大値です。

結果はこんな感じです。

1の位が変ってしまっています。

試しに、scipen=1000とかにしてみました。

やっぱり駄目でした(^^ゞ

一けた削ってみたら。

おいおい(一一”)

ということで限界を確認することにしました。

2の53乗〜54乗の間に限界がありそうです。

2の53乗が限界なのかな?
double 64ビットで表現できる数値の限界は、

±5.0e−324 から ±1.7e308
ですが、有効桁数は15〜16桁となっています。

そこから類推すると、内部で64ビットのdoubleで数値を持っているからなのかも知れませんね。

ということで、options(scipen = ???)はとても大きな数字を扱う時には注意した方が良さそうです。

 

 

コメントを残す

メールアドレスが公開されることはありません。