代码之家  ›  专栏  ›  技术社区  ›  timbo

在R中创建一个给定离散CDF的分位数函数,该函数可以处理

cdf r
  •  4
  • timbo  · 技术社区  · 10 年前

    例如,我有一个带有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.90.99),我的函数就失效了。这似乎是人们在R中经常做的事情,但我还没有找到解决方案。R不是我的主要语言。

    如有任何帮助,将不胜感激。

    1 回复  |  直到 10 年前
        1
  •  7
  •   MrFlick    10 年前

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

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

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