分位数与ecdf结果

时间:2016-03-10 21:46:55

标签: r quantile ecdf

我正在尝试使用ecdf,但我不确定我是否正确行事。我的最终目的是找到分位数对应于特定值。举个例子:

sample_set <- c(20, 40, 60, 80, 100) 
# Now I want to get the 0.75 quantile:
quantile(x = sample_set, probs = 0.75)
#result:
75% 
80
# Let's use ecdf
ecdf(x = sample_set) (80)
#result
0.8

为什么会出现这种差异?我是在做一些微不足道的错误,还是取决于分位数的计算方式?

谢谢, 最大

1 个答案:

答案 0 :(得分:2)

有两点。首先,正如您猜测的那样,这取决于# ApplicationHelper def t(key, options = {}) # try to translate as usual I18n.t(key, options.merge(raise: true) rescue I18n::MissingTranslationData => e # do whatever you want on translation missing, e.g. send notification to someone # ... "Oh-oh!" end 进行计算的方式。具体而言,它取决于参数quantile。您可能想要选择的是type,因为它对应于经验分布函数的(参见type = 1)。其次,由于?quantile给出一个离散的阶梯函数,即ecdf没有严格增加,因为分位数为defined的方式,你无法得到完全相等(见第二个公式)。