我正在尝试使用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
为什么会出现这种差异?我是在做一些微不足道的错误,还是取决于分位数的计算方式?
谢谢, 最大
答案 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的方式,你无法得到完全相等(见第二个公式)。