[解決済み] Rで数値をパーセントで表示するには?
質問
Rの初心者で戸惑ったことの1つは、印刷用に数値をパーセントでフォーマットする方法です。
例えば、以下のように表示します。
0.12345
として
12.345%
. これに対する回避策はいくつかありますが、どれも"newby friendly"とは言えないようです。 例えば
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
が、これでは丸め精度をコントロールできない。
どのように解決するのですか?
もっと後でもいい。
@DzimitryMさんのご指摘の通りです。
percent()
は引退し、代わりに
label_percent()
の同義語である
percent_format()
関数を使用します。
label_percent()
は関数を返すので、これを使うにはさらに一組の括弧が必要です。
library(scales)
x <- c(-1, 0, 0.1, 0.555555, 1, 100)
label_percent()(x)
## [1] "-100%" "0%" "10%" "56%" "100%" "10 000%"
最初の括弧の中に引数を追加して、カスタマイズしてください。
label_percent(big.mark = ",", suffix = " percent")(x)
## [1] "-100 percent" "0 percent" "10 percent"
## [4] "56 percent" "100 percent" "10,000 percent"
数年後のアップデート。
最近では
percent
の関数は
scales
パッケージで、krlmlrの回答で説明されています。 私の手による解決策の代わりに、それを使ってください。
次のようなことを試してみてください。
percent <- function(x, digits = 2, format = "f", ...) {
paste0(formatC(100 * x, format = format, digits = digits, ...), "%")
}
使い方で、例えば
x <- c(-1, 0, 0.1, 0.555555, 1, 100)
percent(x)
(お好みで、書式を
"f"
から
"g"
.)
関連
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] JavaScriptでカンマを桁区切りにして数値を表示する方法
-
[解決済み] 数字を通貨文字列としてフォーマットする方法
-
[解決済み] JSONファイルをprettyprintする方法は?
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] 整数の左側にゼロを埋め込むにはどうしたらいいですか?
-
[解決済み] .NETでフォーマット文字列のブレース(中括弧)をエスケープする方法
-
[解決済み] JavaScript の日付を yyyy-mm-dd でフォーマットする。
-
[解決済み] Javaでバイトサイズを人間が読める形式に変換するにはどうしたらいいですか?
-
[解決済み] データフレーム内の列を名前でドロップする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
R: 環境と変数のスコープ問題
-
データボックス内の行/列の削除/追加を行うR言語
-
R言語における共通関数
-
[解決済み] リストやデータフレームの要素にアクセスするためのブラケット[ ]とダブルブラケット[[ ]]の違いについて
-
[解決済み] Rでロードされているパッケージのバージョンを調べるには?
-
[解決済み] データフレームのリストを行単位で1つのデータフレームに結合する
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み】R関数でオプション引数を指定する "正しい "方法
-
[解決済み】ifelse()でDateオブジェクトがnumericオブジェクトにならないようにする方法
-
[解決済み】私のggplot2構文が賢明であるときに、R CMDチェック「no visible binding for global variable」注記を処理するにはどうすればよいですか?