R

トップページ
Google
WWWを検索
サイト内を検索

すぐsprintf関数をつかうのは、きっとbad practiceです。

1 小数点以下の表示桁数

デフォルトの小数点以下の桁数は6です1

pi
[1] 3.14159

options(digits=n)(n∈ℕ)で変更できます。

options(digits=3)
pi
[1] 3.14
options(digits=10)
pi
[1] 3.141592654

1.1 format(x, digits=n)でも指定できる

グローバルな設定に左右されたくない関数内などでは、optionsを変えるよりはformat関数を使う方がよいでしょう。

options(digits=1)
format(pi, digits=10)
[1] "3.141592654"

2 指数表記にする大きさの設定

デフォルトでは1e+5以上は指数表記になります2

10^5-1
[1] 99999
10^5
[1] 1e+05

options(digits=n)(n∈ℕ)で1e+5+5のところを増減できます。

まずは増やしてみましょう。

options(scipen=1)
10^5-1
[1] 99999
10^5
[1] 100000
10^6-1
[1] 999999
10^6
[1] 1e+06

次は減らしてみましょう。

options(scipen=-2)
10^5-1
[1] 1e+05
10^5
[1] 1e+05
10^3-1
[1] 999
10^3
[1] 1e+03

ドキュメントの英語が分かりづらいと言う話を見かけたのですが、そもそも相対指定なのが分かりづらいですね。

2.1 format(x, scientific = FALSE)で指数表記を回避

グローバルな設定に左右されたくない関数内などでは、optionsを変えるよりはformat関数を使う方がよいでしょう。

options(scipen=-3)
format(10^5, digits=10)
[1] "1e+05"

3 起動時に設定する方法

.Rprofileに命令を書いておくと、起動時に自動的に設定されます。

MS-Windowsでファイルパスが分からないとき3、テキストエディタのファイル名制限でこの名前のファイルが作れないときは4

cat("options(digits=8);options(scipen=3)",
    file = file.path(Sys.getenv("R_USER"), ".Rprofile"),
    append = TRUE)

とRのコンソールに打ち込めば、作成もしくは追記ができます。


  1. これからもずっと6桁かは定かではないです。↩︎

  2. これからもずっと1e+5がデフォルトかは定かではないです。↩︎

  3. Linuxでは~/.Rprofileと、自明の場所に置きます。↩︎

  4. 編集はなぜか出来たりします。↩︎