私は今これに数日間苦労しています。これは、同じトピックに関するstackoverflowでの3番目の質問です。今回は私の質問がより明確に定義されていることを願っています.
私のデータは次のように配布されます: (データを複製するには):
datag <- data.frame(Probability=rgamma(10000, shape=0.6, rate=4.8, scale=1/4.8))
datag <- subset(datag, Probability<=1)
データは確率を表します: 0 から 1 まで。
状態 1 から状態 10 までの状態を確率範囲に適切に割り当てたいと考えています。
これは私が持っているものです:
Interval <- round(quantile(datag, c(seq(0,1,by=0.10))),3)
出力:
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
0.000 0.008 0.015 0.024 0.036 0.054 0.080 0.124 0.209 0.397 1.000
0 から 10 までの状態を割り当てます。
States <- data.frame(datag, State=findInterval(datag, Interval))
頭(州)
出力: 状態
Probability State
0.20585012 8
0.21202839 9
0.07087725 6
0.7109513 10
0.9641807 10
問題は次のとおりです。上でわかるように、確率 0.2120 の状態 9 と > 0.710 の状態 10 が既にあります。prob=0.2120 state 4 と prob=0.710 state 7 と prob=0.96 = state 10 のようなもので満足します。
では、状態をより均一に割り当てるにはどうすればよいでしょうか。