かなり表にまとめられた一連のデータを表示するカスタムprint.xx
関数を作成しています。列幅は 11 文字なので、次のようにします。
> format(1234.567,width=11,digits=7)
[1] " 1234.567"
> format(1234.56789,width=11,digits=7)
[1] " 1234.568"
ここまでは順調ですね。問題は、私が非常に大きい/小さい数を持っていて、科学的表記法が入ったときに起こります:
> format(1234.56789e10,width=11,digits=7)
[1] "1.234568e+13"
> format(1234.56789e-10,width=11,digits=7)
[1] "1.234568e-07"
科学表記法を使用する必要がありますが、11 文字の幅に固執する必要があります。scientific
パラメータとパラメータを調べましたscipen
が、それでも 11 文字の制限を超えています。オプションは、科学表記法が生成されているかどうかを確認することであり、そうであればdigits
パラメーターを減らしますが、私には安っぽく見えます。
数値が科学表記法であるかどうかに関係なく、固定長の文字列を強制的に与えるにはどうすればよいですか?