这似乎是一个简单的问题,但由于某种原因,我一直无法找到解决方案。
我有一个总和为 1 的概率矩阵,我想知道在哪个值处我的累积总和为 0.5。换句话说,如果我把这个矩阵变成一个排序的向量,我必须从最高值走多远才能得到 0.5 的累积和。
我将矩阵转换为值向量并使用 plot(cumsum(x)) 生成以下图表:
我可以做类似的事情
P<-ecdf(x)
P(0.00001)
在 x 值为 0.00001 时获得累积总和,但我想朝另一个方向前进,即累积总和为 0.5 时的 x 值是多少?
quantile() 给了我排序值的 50% 的值(例如,它会给我上图中 sort(x)[4e+05] 的值),这不是我想要的。
感谢您对这个看似简单的问题的帮助!
干杯,乔什
解决方案:
x[max(which(cumsum(x)<=0.5))]
给出累积总和 0.5 的值(感谢@plafort),尽管似乎应该有更简单的方法!