たとえば1.128347132904321674821のように、画面に出力する(またはファイルに書き込む)ときに小数点以下2桁で表示したい番号があります。どうやってそれをするのですか?
x <- 1.128347132904321674821
編集:
の用法:
options(digits=2)
考えられる答えとして提案されています。これをスクリプト内で1回限り使用するように指定する方法はありますか?スクリプトに追加しても何も変わらないようで、各数値をフォーマットするために多くの再入力することに興味はありません(非常に大きなレポートを自動化しています)。
-
回答: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"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加