Rの新人として私を困惑させるために使用されていたものの1つは、数値を印刷用のパーセンテージとしてフォーマットする方法でした。
たとえば、と表示0.12345
し12.345%
ます。これにはいくつかの回避策がありますが、「新参者に優しい」とは思えません。例えば:
set.seed(1)
m <- runif(5)
paste(round(100*m, 2), "%", sep="")
[1] "26.55%" "37.21%" "57.29%" "90.82%" "20.17%"
sprintf("%1.2f%%", 100*m)
[1] "26.55%" "37.21%" "57.29%" "90.82%" "20.17%"
質問:これを行うためのベースR関数はありますか?または、便利なラッパーを提供する広く使用されているパッケージはありますか?
この中のようなものを探しにもかかわらず?format
、?formatC
そして?prettyNum
、私はR.をベースに適切に便利なラッパーを見つけるには至っていない ??"percent"
便利なものは得られませんでした。 library(sos); findFn("format percent")
は1250ヒットを返します。そのため、やはり役に立ちません。 ggplot2
には機能percent
がありますが、丸めの精度を制御できません。
sprintf
は、たまたまプログラマーでもあるRコーダーのサブセットには完全に問題ありません。私はCOBOL(shedder)やfortran(私の年齢を示します)を含め、私の人生の多くの部分をコーディングしました。しかし、私はsprintf
フォーマット規則を明白とは考えていません(翻訳:WTF?)。そしてもちろん、専用のラッパーは、例えば、sprintfのより呼び出すことが容易でなければならない:format_percent(x=0.12345, digits=2)
sprintf()
つまり、fooに含まれているパッケージを見つけるよりも、使い方の学習にほとんど時間がかかりませんformat_percent()
。次に、ユーザーがパーセントとしてフォーマットしたくないが、他に似ているものがある場合はどうなりますか?彼らは別のラッパーを見つける必要があります。長期的には、基本ツールの学習は有益です。
%
Rの「デフォルト」のレポート形式であるLaTeXのコメント文字というわずかな問題があります。そのため、グラフのラベル付けには役立ちますが、フォーマットされた数値をSwavedにする場合は注意が必要です。
sprintf
メーリングリストのお気に入りの解決策のようです、そして私はこれ以上の解決策を見たことがありません。組み込み関数は、とにかく呼び出す方が簡単ではありませんよね?