0

さて、ここで最も奇妙な問題があります。独立変数 X の特定の分位数で空間を分割するとき、従属変数 Y の平均をとっています。

私の問題は、R の分位関数が独立変数 X の範囲内の値を返さないことですが、画面に出力されたときに返される値は正しい値です。これを奇妙にしているのは、特定の分位数でのみ発生することです。

この奇妙な効果を示すサンプル コード:

x<-c(1.49,rep(1.59,86))
quantile(x,0.05) # returns 1.59, the correct value
# However both of these return all values as false
table(x>=quantile(x,0.05))
table(x==quantile(x,0.05))
# But if we take a quantile at 0.075 it works correctly
table(x>=quantile(x,0.075))

皆さんが提供できる洞察をいただければ幸いです。

4

1 に答える 1

5

変位値は正確ではありませ 1.59:

> quantile(x, 0.05)[[1]] == 1.59
[1] FALSE
> quantile(x, 0.05)[[1]] == 1.5900000000000003
[1] TRUE

quantile(..., type = 7)は に置き換えられているように見えますが1.590.7000000000000001 * 1.59 + 0.3 * 1.59これにより、正確な等価性の使用を妨げる小さなエラーが発生します。

于 2011-12-15T03:07:12.727 に答える