moments2 [varlist] [if exp] [in range] [weight] [, type(name) allobs format(numeric_format(s)) matname(matrix_name) tabdisp_options variablenames ]
moments2 varname [if exp] [in range] [weight] [, type(name) allobs by(varlist) format(numeric_format(s)) matname(matrix_name) tabdisp_options ]
by ... : may be used with moments2; see help on by.
aweights and fweights are allowed; see help weights.
moments2 calculates mean, standard deviation, skewness and kurtosis of type() for varlist. Any string variables in varlist are ignored. Definitions and a discussion of the measures specified by type() can be found in: Joanes, D. N. & Gill, C. A. (1998). Comparing measures of sample skewness and kurtosis. The Statistician, 47, 183-189.
type() (default: type(G)) specifies the type of skewness and kurtosis measure as follows [mr = sum((xi-mean(X))^r)/n and s = sqrt(sum((xi-mean(X))^2)/(n-1)) with r = the r-th moment, xi = values of variable X, n = number of cases]:
g : g1 (skewness) and g2 (kurtosis) as used in many textbooks (Joanes & Gill's "type 1" measure); g1 = m3/m2^(3/2) and g2 = m4/m2^2-3
g3 : as type(g) without subtracting 3 from the kurtosis measure as used in Stata's summarize command
G : G1 (skewness) and G2 (kurtosis) as used in SAS and SPSS (Joanes & Gill's "type 2" measure); G1 = g1*sqrt(n*(n-1))/(n-2) and G2 = ((n+1)*g2+6)*(n-1)/((n-2)*(n-3)); this is the default
G3 : as type(G) adding 3 to the kurtosis measure
b : b1 (skewness) and b2 (kurtosis) as used in MINITAB and BMDP (Joanes & Gill's "type 3" measure); b1 = m3/s^3 and b2 = m4/s^4-3
b3 : as type(b) without subtracting 3 from the kurtosis measure
allobs specifies use of the maximum possible number of observations for each variable. The default is to use only those observations for which all variables in varlist are not missing.
by() specifies one or more variables defining distinct groups for which moment-based statistics should be calculated. by() is allowed only with a single varname. The choice between by: and by() is one of precisely what kind of output display is required. The display with by: is clearly structured by groups while that with by() is more compact. To show moments for several variables and several groups with a single call to moments2, the display with by: is essential.
format() controls the display format of mean, standard deviation, skewness and kurtosis, as follows. Up to four numeric formats may be given. The first numeric format given controls the display of the mean; any second numeric format that of the standard deviation; any third numeric format that of the skewness, and any fourth numeric format that of the kurtosis. Formats not specified default to %9.3f.
matname() specifies the name of a matrix in which to save the results of (the last set of) calculations. There will be 5 columns. The columns will contain n, mean, standard deviation, skewness and kurtosis.
tabdisp_options are options of tabdisp other than format().
variablenames specifies that the variable names of varlist should be used in display. The default is to use variable labels to indicate a set of variables.
. sysuse auto . moments2 price . moments2 price, t(G3) . moments2 price, t(g3) . moments2 price-foreign . moments2 price-foreign, format(%5.1f %5.1f) . bysort rep78: moments2 mpg
moments2 saves the following results (of the last variable/by-group) in r():
Scalars r(N) number of observations r(sum_w) sum of the weights r(mean) mean r(Var) variance r(sd) standard deviation r(skewness) skewness r(kurtosis) kurtosis r(sum) sum of variable r(min) minimum r(max) maximum r(p1) 1st percentile r(p5) 5th percentile r(p10) 10th percentile r(p25) 25th percentile r(p50) 50th percentile r(p75) 75th percentile r(p90) 90th percentile r(p95) 95th percentile r(p99) 99th percentile
Macros r(type) type of skewness and kurtosis measure
Joanes, D. N. & Gill, C. A. (1998). Comparing measures of sample skewness and kurtosis. The Statistician, 47, 183-189.
moments2 (and this help file) leans heavily on Nicholas Cox's moments (see: click here). moments2 does nothing more than adding the type()-option and making "type 2" (i.e. type(G)) measures of skewness and kurtosis the default.
Dirk Enzmann, University of Hamburg, Germany email@example.com