【问题标题】:Create a quantile function given a discrete CDF in R that can handle在给定 R 中可以处理的离散 CDF 的情况下创建分位数函数
【发布时间】:2015-08-02 15:35:09
【问题描述】:

例如,我有一个带有 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 不是我的主要语言。

任何帮助将不胜感激。

【问题讨论】:

    标签: r cdf


    【解决方案1】:

    您可能需要findInterval() 函数。有关该功能的详细信息,请参阅?findInerval 帮助页面。但是像

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

    应该适用于您的示例数据/输入。

    【讨论】:

    • 谢谢。我以为它必须如此简单,但我就是找不到。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-23
    • 1970-01-01
    • 2019-06-25
    • 2017-04-29
    • 2022-06-10
    相关资源
    最近更新 更多