1

25.0 などの値を含む yaml ファイルをロードすると、.0無視され、25 が得られます。データを操作せずに yaml に値をそのまま考慮させることは可能ですか? 値を一重/二重引用符で囲んでみましたが、うまくいきません。

[編集]: yamlR プログラミング言語のパーサー パッケージを使用しています。返されるデータ型はdouble. 値を 25.2 に設定すると、同じ値が返されます。YAML/R に YAML の情報をそのまま読み込ませるにはどうすればよいですか。

4

2 に答える 2

1

あなたの問題は、パーサーがこれらが浮動小数点数であり、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)))

于 2012-08-03T09:32:31.807 に答える
0

多分これが役立つでしょう: http://tolstoy.newcastle.edu.au/R/help/06/05/28016.html

小数点以下の桁数が多すぎるのを避けるために、桁の設定を変更し、数値を四捨五入することをお勧めします。

オプション(桁数=2)

format(roundf(x, 2), nsmall = 2)

于 2012-08-02T21:58:11.067 に答える