R で指数表記 (例: e+10) を使用しないように強制しますか? 質問する

R で指数表記 (例: e+10) を使用しないように強制しますか? 質問する

R に -like 表記法ではなく通常の数値を使用するように強制できますかe+10? 次のものがあります:

1.810032e+09
# and 
4

同じベクトル内で以下を確認したい場合:

1810032000
# and
4

私は昔ながらのプログラムの出力を作成しており、 を使用してテキスト ファイルを書き込む必要がありますcat。 これまでのところは問題なく動作しますが、そこでは表記法を使用できませんe+10

ベストアンサー1

これは少し曖昧な領域です。R は常に print メソッドを呼び出し、これらの print メソッドはいくつかのオプションをリッスンすることを思い出してください。これには、科学的表示のペナルティである 'scipen' も含まれます。出典help(options):

'scipen': 整数。数値を固定表記法または指数表記法で印刷するかどうかを決定するときに適用されるペナルティ。正の値は固定表記法に、負の値は科学的表記法に傾きます。'scipen' 桁より広くない限り、固定表記法が優先されます。

例:

R> ran2 <- c(1.810032e+09, 4) 
R> options("scipen"=-100, "digits"=4)
R> ran2
[1] 1.81e+09 4.00e+00
R> options("scipen"=100, "digits"=4)
R> ran2
[1] 1810032000          4

そうは言っても、まだごまかしの余地はあると思います。最も直接的な方法は、sprintf()明示的な幅を使用することですsprintf("%.5f", ran2)。例:

おすすめ記事