R计算分位数错误或不同?

MME*_*MEL 3 r quantile

我发现一篇文章提供了计算分位数的算法,而 R 显然没有遵循该文章。

文章为: https://www-users.york.ac.uk/~mb55/intro/quantile.htm

在 R 中,我有以下代码:

nv<-c(10,20,30,40)
quantile(nv)
  0%  25%  50%  75% 100% 
10.0 17.5 25.0 32.5 40.0
Run Code Online (Sandbox Code Playgroud)

然而,75%结果的分位数似乎是错误的,根据文章,公式是:

i = q(n+1) 
Run Code Online (Sandbox Code Playgroud)

在我的例子中(75%)q=0.75 且 n=4(我的组合中有 4 个观察值)

X_j + (X_j+1 - X_j) times (i - j) 
Run Code Online (Sandbox Code Playgroud)

这意味着它应该是:

30 + (40-30)*(3.75-3) = 37.5而不是32.5

我很难认为 R 犯了一个错误。

我在这里缺少什么?

谢谢。

nei*_*fws 7

如果您查看帮助页面quantile

?quantile
Run Code Online (Sandbox Code Playgroud)

您将看到分位数可以通过不同的方式计算,可以使用参数指定type =,参数为 1-9 之间的整数。

类型 6 给出了您期望的结果:

quantile(c(10, 20, 30, 40), type = 6)

  0%  25%  50%  75% 100% 
10.0 12.5 25.0 37.5 40.0
Run Code Online (Sandbox Code Playgroud)