EQTIL

Computes empirical quantiles.

Required Arguments

X — Vector of length NOBS containing the data. (Input)

NQPROP — Number of quantiles. (Input)
NQPROP must be greater than or equal to one.

QPROP — Vector of length NQPROP containing the quantile proportions. (Input)
The elements of QPROP must lie in the interval (0, 1).

Q — Vector of length NQPROP containing the empirical quantiles. (Output)
Q(i) corresponds to the empirical quantile at proportion QPROP(i). The quantiles are determined by linear interpolation between adjacent ordered sample values.

XLO — Vector of length NQPROP containing the largest element of X less than or equal to the desired quantile. (Output)

XHI — Vector of length NQPROP containing the smallest element of X greater than or equal to the desired quantile. (Output)

NMISS — Number of missing values. (Output)

Optional Arguments

NOBS — Number of observations. (Input)
NOBS must be greater than or equal to one.
Default: NOBS = size (X,1).

FORTRAN 90 Interface

Generic: CALL EQTIL (X, NQPROP, QPROP, Q, XLO, XHI, NMISS [])

Specific: The specific interface names are S_EQTIL and D_EQTIL.

FORTRAN 77 Interface

Single: CALL EQTIL (NOBS, X, NQPROP, QPROP, Q, XLO, XHI, NMISS)

Double: The double precision name is DEQTIL.

Description

The routine EQTIL determines the empirical quantiles, as indicated in the vector QPROP, from the data in X. The routine EQTIL first checks to see if X is sorted; if X is not sorted, the routine does either a complete or partial sort, depending on how many order statistics are required to compute the quantiles requested.

The routine EQTIL returns the empirical quantiles and, for each quantile, the two order statistics from the sample that are at least as large and at least as small as the quantile. For a sample of size n, the quantile corresponding to the proportion p is defined as

Q(p) = (1   f )xj + f xj + 1

where j = p(n + 1), f = p(n + 1)  j, and xj is the j-th order statistic, if 1 j < n; otherwise, the empirical quantile is the smallest or largest order statistic.

Comments

1. Workspace may be explicitly provided, if desired, by use of E2TIL/DE2TIL. The reference is:

CALL E2TIL (NOBS, X, NQPROP, QPROP, Q, XLO, XHI, NMISS, WK)

The additional argument is:

WK — Workspace of length NOBS containing the sorted data. (Output)

If X is sorted in ascending order with all missing values at the end of X, then X and WK may share the same storage location.

2. Informational error

Type

Code

Description

3

1

All of the observations are missing values. The elements of Q, XLO, and XHI have been set to NaN (not a number).

3. Missing values (NaN) are excluded from the analysis. Empirical quantiles are based on the NOBS  NMISS nonmissing elements of X.

Example

In this example, five empirical quantiles from a sample of size 30 are obtained. Notice that the 0.5 quantile corresponds to the sample median. The data are from Hinkley (1977) and Velleman and Hoaglin (1981). They are the measurements (in inches) of precipitation in Minneapolis/St. Paul during the month of March for 30 consecutive years.

 

USE EQTIL_INT

USE UMACH_INT

 

IMPLICIT NONE

INTEGER NOBS, NQPROP

PARAMETER (NOBS=30, NQPROP=5)

!

INTEGER I, NMISS, NOUT

REAL QPROP(NQPROP), X(NOBS), XEMP(NQPROP), XHI(NQPROP),&

XLO(NQPROP)

!

DATA X/0.77, 1.74, 0.81, 1.20, 1.95, 1.20, 0.47, 1.43, 3.37, &

2.20, 3.00, 3.09, 1.51, 2.10, 0.52, 1.62, 1.31, 0.32, 0.59, &

0.81, 2.81, 1.87, 1.18, 1.35, 4.75, 2.48, 0.96, 1.89, 0.90, &

2.05/

DATA QPROP/0.01, 0.50, 0.90, 0.95, 0.99/

!

CALL UMACH (2, NOUT)

CALL EQTIL (X, NQPROP, QPROP, XEMP, XLO, XHI, NMISS)

WRITE (NOUT,99997)

99997 FORMAT (' Smaller Empirical Larger', /, &

' Quantile Datum Quantile Datum')

DO 10 I=1, NQPROP

WRITE (NOUT,99998) QPROP(I), XLO(I), XEMP(I), XHI(I)

10 CONTINUE

99998 FORMAT (4X, F4.2, 8X, F4.2, 8X, F4.2, 8X, F4.2)

WRITE (NOUT,99999) NMISS

99999 FORMAT (/, ' There are ', I2, ' missing values.')

END

Output

 

Smaller Empirical Larger

Quantile Datum Quantile Datum

0.01 0.32 0.32 0.32

0.50 1.43 1.47 1.51

0.90 3.00 3.08 3.09

0.95 3.37 3.99 4.75

0.99 4.75 4.75 4.75

 

There are 0 missing values.