次の一貫性のない動作に遭遇しcut
、頭痛の種になりました。
x <- 0.2316
cut(x, c(0, 0.2315, 10)) #gives 0.232 as cutpoint and choses second interval
## [1] (0.232,10]
## Levels: (0,0.232] (0.232,10]
cut(x, c(0, 0.232, 10)) #choses first interval when taking the same cutpoint it just gave (0.232)
## [1] (0,0.232]
## Levels: (0,0.232] (0.232,10]
問題はcut
、カット ポイントをフォーマット (丸め) する前に間隔を選択したように見えることです。これは、2 番目の間隔を選択するが、指定されたカット ポイント (最後の行で確認できる) に従って最初の間隔を選択するという例では、一貫性のない動作につながります。
私のパッケージには 2 つの関数があるため、これは私にとって問題です。上記の例では、同じデータ ポイントが最初の関数の 2 番目の間隔に配置されますが、2 番目の関数の最初の間隔に配置されます。まったく同じカット ポイントが表示されます。これにより、パッケージで奇妙な動作が発生する可能性があります。
私の質問
これは既知の問題ですか? はいの場合、回避策はありますか?ありがとうございました
編集
小数点以下の桁数を変更できることはわかっていますが、小数点以下の桁数がdig.lab
多いカットポイントがあると同じ問題が発生します。上記の例は、より一般的な問題のデモンストレーションにすぎません!