我现在为此苦苦挣扎了几天。这是stackoverflow上关于同一主题的第三个问题,希望这次我的问题得到更好的定义。
我的数据分布如下:(直方图)
x 轴对应于概率范围:从 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))
head(States)
输出:状态
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 这样的东西感到满意。
那么如何更统一地分配状态呢?
要复制数据g:
datag <- data.frame(Probability=rgamma(10000, shape=0.6, rate=4.8, scale=1/4.8))
编辑:@罗马:
datag <- subset(datag, Probability<=1)
编辑:@西蒙
是的,我知道“cut”:
table(cut(datag, breaks = c(seq(0,0.8,by=0.1))))
输出:
(0,0.1] (0.1,0.2] (0.2,0.3] (0.3,0.4] (0.4,0.5] (0.5,0.6] (0.6,0.7] (0.7,0.8]
125545 26625 12795 8126 5556 4108 3227 2606
如何定义休息时间?我在间隔之后(打破自己),所以我可以分配与概率落入的间隔相对应的状态。