私は非常に正確な数字(最大桁数)を扱っています。write.csv precision R
私は、Rのwrite.csv(x)
が時々ラウンドしていることに気付きました。
誰かに気付いたことがありますか? デフォルトの桁数はどのくらいですか?マニュアルに書かれたよう
私は非常に正確な数字(最大桁数)を扱っています。write.csv precision R
私は、Rのwrite.csv(x)
が時々ラウンドしていることに気付きました。
誰かに気付いたことがありますか? デフォルトの桁数はどのくらいですか?マニュアルに書かれたよう
、
、ほぼすべてのケースで数値の数量の変換はなく、
digits = 15
の内部等価 と、(options
を参照してください)オプション「scipen
」で を支配されています。より細かく制御するには、format
を使用して、 の行列/データフレームを作成し、write.table
を呼び出します。
だから、簡単な解決策はoptions
、すなわち
options(digits = DESIRED_VALUE)
を変更することで、カスタマイズされたソリューションは、例えば、format
と文字型にあなたの変数を変換することです
dat <- mtcars
dat$wt <- format(dat$wt, digits = 20)
このように保存してください。しかし、コンピュータを使用しているときには、は常にです(Gldberg、1991、What Every Computer Scientist Should Know About Floating-Point Arithmeticを参照)。コンピュータの精度には厄介な結果があります。
format(2.620, digits = 20)
## [1] "2.6200000000000001066"
あなたはおそらく唯一の小数点以下のいくつかの数まで正確にはそれらを必要とするように丸めた値を使用して「悪い」ものは何もありません。さらに、測定値も測定誤差の影響を受けますので、精度は幻想的になります。
この質問はプログラミング指向ですので、ここではトピックではないので、stackexachange.comに移行することにしました。 – Tim
こちらをご覧ください:https://stackoverflow.com/questions/1089018/why-cant-decimal-numbers-be-represented-exactly-in-binary – Ferdi
ここ:https://stackoverflow.com/questions/21895756 /なぜ浮動小数点数が不正確か – Ferdi