4

例如,我有一个带有 CDF 的离散函数,如下所示:

cdf <- c(0.00, 0.35, 0.71, 0.92, 1.00, 1.00, 1.00, 1.00)

我可以使用以下行创建一种分位数函数。. .

result <- which(cdf == min(cdf[cdf > x]))

. . . 其中 x 是累积概率。例如,qfunction(0.9) = 4 和 qfunction(0.99) = 5。

在我想处理向量之前,这个解决方案看起来很好(虽然不优雅)。因此,如果 x = c(0.9, 0.99) 我的函数会失败。这似乎是人们会在 R 中做很多事情,但我还没有找到解决方案。R 不是我的主要语言。

任何帮助,将不胜感激。

4

1 回答 1

7

你可能想要这个findInterval()功能。有关该功能的详细信息,请参见?findInerval帮助页面。但是像

findInterval(c(.9, .99), cdf)+1

应该适用于您的样本数据/输入。

于 2015-08-02T15:41:29.517 回答