【问题标题】:find the quantile percentage given a value [duplicate]找到给定值的分位数百分比[重复]
【发布时间】:2016-10-06 05:08:54
【问题描述】:

我在 t 向量中有一个数据,给定数据我可以得到分位数

   t = c(1,2,3,4,5,6,3,2,21,22,23,2,23,4,4,4444)
  quantile(t,c(.3))
3

但我想反其道而行之

我想提供 3 并让它返回分位数百分比

点赞somefunction(3,t),输出30%

有这样的功能吗?

【问题讨论】:

  • 您要求的是ecdf 函数,它在?quantile 帮助页面上作为分位数的倒数提供。它以小数形式返回,但如果您希望它显示为“百分比”,则只需乘以 100。(我怀疑这是重复的。)

标签: r


【解决方案1】:

使用分位数的定义:

sum(x<=3)/length(x)

给你:0.375

等价

f <- ecdf(x)
f(3) #0.375

【讨论】:

    【解决方案2】:

    如果x是向量,x0是你要检查的值,我们可以使用

    match(x0, sort(x)) / (length(x) + 1)
    

    你的例子:

    x <- c(1,2,3,4,5,6,3,2,21,22,23,2,23,4,4,4444)
    match(3, sort(x)) / (length(x) + 1)
    # [1] 0.2941176
    

    【讨论】:

      猜你喜欢
      • 2020-09-28
      • 2021-10-18
      • 1970-01-01
      • 2020-11-22
      • 2021-02-18
      • 1970-01-01
      • 2021-03-11
      • 2020-05-11
      • 2020-03-07
      相关资源
      最近更新 更多