I have run some commands in R to easily determine which answer is correct. Well:
> x <- c(0, 1, 2, 5, 8, 8, 9, 10, 12, 14, 18, 20, 21, 23, 25, 27, 34, 43) > summary(x) Min. 1st Qu. Median Mean 3rd Qu. Max. 0.0 8.0 13.0 15.6 22.5 43.0 > IQR(x) [1] 14.5
So we have a forth solution :)
How is it possible? Checking the R help (?quantile
) is really helpful:
All sample quantiles are defined as weighted averages of consecutive order statistics. Sample quantiles of type i are defined by: Q[i](p) = (1 - gamma) x[j] + gamma x[j+1], where 1 <= i <= 9, (j-m)/n <= p < (j-m+1)/n, x[j] is the jth order statistic, n is the sample size, the value of gamma is a function of j = floor(np + m) and g = np + m - j, and m is a constant determined by the sample quantile type. *Discontinuous sample quantile types 1, 2, and 3* For types 1, 2 and 3, Q[i](p) is a discontinuous function of p, with m = 0 when i = 1 and i = 2, and m = -1/2 when i = 3. Type 1 Inverse of empirical distribution function. gamma = 0 if g = 0, and 1 otherwise. Type 2 Similar to type 1 but with averaging at discontinuities. gamma = 0.5 if g = 0, and 1 otherwise. Type 3 SAS definition: nearest even order statistic. gamma = 0 if g = 0 and j is even, and 1 otherwise. *Continuous sample quantile types 4 through 9* For types 4 through 9, Q[i](p) is a continuous function of p, with gamma = g and m given below. The sample quantiles can be obtained equivalently by linear interpolation between the points (p[k],x[k]) where x[k] is the kth order statistic. Specific expressions for p[k] are given below. Type 4 m = 0. p[k] = k / n. That is, linear interpolation of the empirical cdf. Type 5 m = 1/2. p[k] = (k - 0.5) / n. That is a piecewise linear function where the knots are the values midway through the steps of the empirical cdf. This is popular amongst hydrologists. Type 6 m = p. p[k] = k / (n + 1). Thus p[k] = E[F(x[k])]. This is used by Minitab and by SPSS. Type 7 m = 1-p. p[k] = (k - 1) / (n - 1). In this case, p[k] = mode[F(x[k])]. This is used by S. Type 8 m = (p+1)/3. p[k] = (k - 1/3) / (n + 1/3). Then p[k] =~ median[F(x[k])]. The resulting quantile estimates are approximately median-unbiased regardless of the distribution of ‘x’. Type 9 m = p/4 + 3/8. p[k] = (k - 3/8) / (n + 1/4). The resulting quantile estimates are approximately unbiased for the expected order statistics if ‘x’ is normally distributed.
So each program was using a different quantile algorithm.