找到给定值的分位数百分比

时间:2016-10-05 16:44:33

标签: r

我在t向量中有一个数据,并给出了我可以得到分位数的数据

rsa.setPrivateString(privateKey);
var decrypted = rsa.decrypt(encrypted); // decrypted == originText

但我想做相反的事情

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

t = c(1,2,3,4,5,6,3,2,21,22,23,2,23,4,4,4444) quantile(t,c(.3)) 3 类似,输出为30%

那是否有功能?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

使用分位数的定义:

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

为您提供:0.375

等效

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