[解決済み】Rの小数点以下の桁数の書式設定
質問
1.128347132904321674821のように、画面に出力する(またはファイルに書き出す)ときに小数点以下2桁まで表示させたい数値があります。どのようにすればよいのでしょうか?
x <- 1.128347132904321674821
EDIT
使用することです。
options(digits=2)
が提案されています。一度だけ使用するために、スクリプト内でこれを指定する方法はありますか?スクリプトに追加しても何も変わらないようですし、各数字をフォーマットするために多くの再入力をすることには興味がありません(非常に大きなレポートを自動化しています)。
--
答え:round(x, digits=2)
解き方は?
背景は?
このページで提案されているいくつかの回答(例.
signif
,
options(digits=...)
) は、任意の数に対して、ある数の小数を表示することを保証するものではありません。これはRの設計上の特徴で、科学的に優れた実践では、"の原則に基づいて一定の桁数を表示することになっていると推測されます。
有効数字
となります。しかし、多くのドメインで(例えば。
APAスタイル
ビジネスレポートなどでは、書式上の要求から小数点以下の桁数を表示する必要があります。これは、有効数字にこだわるよりも、一貫性や標準化のために行われることが多い。
解決方法 :
次のコードは、数値の小数点以下が正確に2桁になるように表示されます。
x
.
format(round(x, 2), nsmall = 2)
例えば
format(round(1.20, 2), nsmall = 2)
# [1] "1.20"
format(round(1, 2), nsmall = 2)
# [1] "1.00"
format(round(1.1234, 2), nsmall = 2)
# [1] "1.12"
より一般的な関数は次のとおりです。
x
は数であり
k
は表示する小数の数です。
trimws
は、先頭の空白を取り除きます。これは、数字のベクトルがある場合に便利です。
specify_decimal <- function(x, k) trimws(format(round(x, k), nsmall=k))
例
specify_decimal(1234, 5)
# [1] "1234.00000"
specify_decimal(0.1234, 5)
# [1] "0.12340"
代替案についての議論。
その formatCの回答 と sprintfアンサー はかなりうまく機能します。しかし、場合によっては負のゼロを表示することがあり、それは望ましくないかもしれません。すなわち
formatC(c(-0.001), digits = 2, format = "f")
# [1] "-0.00"
sprintf(-0.001, fmt = '%#.2f')
# [1] "-0.00"
これを回避する方法として、次のようなものが考えられます。
formatC(as.numeric(as.character(round(-.001, 2))), digits = 2, format = "f")
# [1] "0.00"
関連
-
[解決済み】model.frame.defaultでのエラー:変数の長さが異なる
-
[解決済み】lis[[i]]のエラー:1つ未満の要素を選択しようとした場合
-
[解決済み】GLM解析での警告
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】rbind(deparse.level, ...)でエラー:引数の列の数がRにマッチしていない
-
[解決済み】 if/while (条件) {: TRUE/FALSEが必要な場所に値がない場合のエラー
-
[解決済み】Rで「中断されたプロミスの評価を再開する」という警告を回避する
-
[解決済み] Javaで数値を小数点以下n桁に丸める方法
-
[解決済み] 小数点以下2桁の数字を表示する
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】xtsオブジェクトでエラー: "antempt to set 'colnames' on the object with less than two dimension "を克服する方法
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み】Rエラー。"新しい列は既存の列の後に穴を空ける"
-
[解決済み】R Markdown - html出力でフォントサイズとフォントタイプを変更する
-
[解決済み】match.fun(FUN)でのエラーについて)
-
[解決済み】 lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) のエラー : 'y' の NA/NaN/Inf, あらゆる方法を試したが解決しなかった。
-
[解決済み】Rで文字ベクトルから引用符を削除する
-
[解決済み】Rでのデータ操作。'X'はアトミックでなければならない
-
[解決済み】 eval(expr, envir, enclos) でのエラー : オブジェクトが見つかりません。
-
[解決済み】R4DSのエラー比較(1)は、アトミック型とリスト型でのみ可能です