Command Reference : Operator and Function Reference : Descriptive Statistics

Descriptive Statistics
These functions compute descriptive statistics for a specified sample, excluding missing values if necessary. The default sample is the current workfile sample. If you are performing these computations on a series and placing the results into a series, you can specify a sample as the last argument of the descriptive statistic function, either as a string (in double quotes) or using the name of a sample object. For example:
series z = @mean(x, "1945m01 1979m12")
or
w = @var(y, s2)
where S2 is the name of a sample object and W and X are series. Note that you may not use a sample argument if the results are assigned into a matrix, vector, or scalar object. For example, the following assignment:
vector(2) a
series x
a(1) = @mean(x, "1945m01 1979m12")
is not valid since the target A(1) is a vector element. To perform this latter computation, you must explicitly set the global sample prior to performing the calculation performing the assignment:
smpl 1945:01 1979:12
a(1) = @mean(x)
To determine the number of observations available for a given series, use the @obs function. Note that where appropriate, EViews will perform casewise exclusion of data with missing values. For example, @cov(x,y) and @cor(x,y) will use only observations for which data on both X and Y are valid.
In the following table, arguments in square brackets [ ] are optional arguments:
[s]: sample expression in double quotes or name of a sample object. The optional sample argument may only be used if the result is assigned to a series. For @quantile, you must provide the method option argument in order to include the optional sample argument.
If the desired sample expression contains the double quote character, it may be entered using the double quote as an escape character. Thus, if you wish to use the equivalent of,
smpl if name = "Smith"
in your @MEAN function, you should enter the sample condition as:
series y = @mean(x, "if name=""Smith""")
The pairs of double quotes in the sample expression are treated as a single double quote.

 Function Name Description @cor(x,y[,s]) correlation the correlation between X and Y. @cov(x,y[,s]) covariance the covariance between X and Y (division by ). @covp(x,y[,s]) population covariance the covariance between X and Y (division by ). @covs(x,y[,s]) sample covariance the covariance between X and Y (division by ). @dupselem(x1[, x2,..., smpl]) duplicate identification element IDs enumerating the observations within a duplicate group, as determined by @dupsid. The element IDs for any two observations with the same group ID are distinct. @dupsid(x1[, x2,..., smpl]) duplicate identification group IDs identifying unique/duplicated observation data, similar to @groupid. The IDs for two observations are identical if and only if the values of series, alphas, or groups s1, s2, etc., are identical for both observations. @dupsobs(x1[, x2,..., smpl]) duplicate identification number of occurrences of each observation's group ID as would be assigned by @dupsid. An observation containing a unique combination of values among series, alphas, or groups s1, s2, etc., will therefore have the value one, while any duplicated observation will have a value larger than one. @gmean(x[,s]) geometric mean the geometric mean of X. The geometric mean is calculated as the exponential of the sum of the logs of X. @hmean(x[,s]) harmonic mean computes the harmonic mean of the values of X. The harmonic mean is calculated as the reciprocal of the mean of the reciprocals of X. @imax(x) maximum index workfile index of the maximum of the values in X for the current sample. @imin(x) minimum index workfile index of the maximum of the values in X for the current sample. @inner(x,y[,s]) inner product the inner product of X and Y. @intercept(x[, s]) intercept the intercept (or intercepts for panel data) of an OLS regression versus an implicit time trend, as would be used by @detrend. This function is panel aware. @kurt(x[,s]) kurtosis kurtosis of values in X. @mae(x,y[,s]) mean absolute error the mean of the absolute value of the difference between X and Y. @mape(x,y[,s]) mean absolute percentage error 100 multiplied by the mean of the absolute difference between X and Y, divided by Y. @max(x[,s]) maximum maximum of the values in X. @maxes(x,n[,s]) n-largest numbers maximum n values in X, arranged largest to smallest, returned in a vector object. Note this function may not be used for series generation. @mean(x[,s]) mean average of the values in X. @median(x[,s]) median computes the median of the X (uses the average of middle two observations if the number of observations is even). @min(x[,s]) minimum minimum of the values in X. @mins(x,n[,s]) n-smallest numbers minimum n values in X, arranged smallest to largest, returned in a vector object. Note this function may not be used for series generation. @mse mean square error the mean of the squared difference between X and Y. @nas(x[,s]) number of NAs the number of missing observations for X in the current sample. @pctiles(x[, ties, s]) percentiles Similar to @ranks, but returns the percentile of each observation within the series. Equivalent to 100 * @ranks(x, ”a”, ties) / @obs(x). @prod(x[,s]) product the product of the elements of X (note this function is prone to numerical overflows). @obs(x[,s]) number of observations the number of non-missing observations for X in the current sample. @quantile(x,q[,m,s]) quantile the q-th quantile of the series X. m is an optional string argument for specifying the quantile method: “b” (Blom), “r” (Rankit-Cleveland), “o” (Ordinary), “t” (Tukey), “v” (van der Waerden), “g” (Gumbel). The default value is “r”. @ranks(x[,o,t,s]) ranks the ranking of each observation in X. The order of ranking is set using o: “a” (ascending - default) or “d” (descending). Ties are broken according to the setting of t: “i” (ignore), “f” (first), “l” (last), “a” (average - default), “r” randomize. If you wish to specify tie-handling options, you must also specify the order option (e.g. ‘@ranks(x, “a”, “i”)’). @rmse(x,y[,s]) root mean square error the square root of the mean of the squared difference between X and Y. @skew(x[,s]) skewness skewness of values in X. @smape(x,y[,s]) symmetric mean absolute percentage error 200 multiplied by the mean of the absolute difference between X and Y divided by the sum of the absolute values of X and Y. @stdev(x[,s]) standard deviation square root of the unbiased sample variance (sum-of-squared residuals divided by ). @stdevp(x[,s]) population standard deviation square root of the population variance (sum-of-squared residuals divided by ). @stdevs(x[,s]) sample standard deviation square root of the unbiased sample variance. Note this is the same calculation as @stdev. @stdize(x[, smpl]) standardize (for sample) Returns a copy of series scaled and translated to have a mean of zero and a sample standard deviation of one. @stdizep(x[, smpl]) standardize (for population) Returns a copy of series scaled and translated to have a mean of zero and a population standard deviation of one. @sum(x[,s]) sum the sum of X. @sumsq(x[,s]) sum-of-squares sum of the squares of X. @theil(x,y[,s]) Theil inequality coefficient the root mean square error divided by the sum of the square roots of the means of X squared and Y squared. @trendcoef(x[, s]) trend coefficient the slope of an OLS regression versus an implicit time trend, as would be used by @detrend. This function is panel aware. @trmean(x, p[, s]) trimmed mean Returns the p-percent trimmed mean, i.e. the mean of after the p-percent largest and smallest values have been removed. @var(x[,s]) variance variance of the values in X (division by ). @varp(x[,s]) population variance variance of the values in X. Note this is the same calculation as @var. @vars(x[,s]) sample variance sample variance of the values in X (division by ).