25.0 などの値を含む yaml ファイルをロードすると、.0
無視され、25 が得られます。データを操作せずに yaml に値をそのまま考慮させることは可能ですか? 値を一重/二重引用符で囲んでみましたが、うまくいきません。
[編集]: yaml
R プログラミング言語のパーサー パッケージを使用しています。返されるデータ型はdouble
. 値を 25.2 に設定すると、同じ値が返されます。YAML/R に YAML の情報をそのまま読み込ませるにはどうすればよいですか。
あなたの問題は、パーサーがこれらが浮動小数点数であり、R では 25.0 と 25 の間に違いがないことを認識することです。たとえば、次のようにしてください。
identical(25.0, 25)
25.0 と 25 は、同じ浮動小数点数の 2 つの異なる表現です。データが提供された形式を保持したい場合は、それらを文字列として読み込む必要があります (計算を実行する必要がある場合は、後で数値に変換できます)。ハンドラーでこれを行うことができます:
yaml.load("25.0", handlers=list("float#fix"=function(x) as.character(x)))
多分これが役立つでしょう: http://tolstoy.newcastle.edu.au/R/help/06/05/28016.html
小数点以下の桁数が多すぎるのを避けるために、桁の設定を変更し、数値を四捨五入することをお勧めします。
オプション(桁数=2)
format(roundf(x, 2), nsmall = 2)