1. Home
  2. CCOMPARE procedure

CCOMPARE procedure

Tests whether samples from circular distributions have a common mean direction or have identical distributions (S.J. Clark).


PRINT = string token What to print (tests); default test
TEST = string token Which tests to perform (compare, identical); default comp, iden
ASCALE = string token Units of the circular variables (degrees, radians); default degr
STATISTICS = variate Saves the test statistics
COMMON = scalar Saves the common mean direction
LOWER = scalar Saves the lower 95% confidence limit for common mean
UPPER = scalar Saves the upper 95% confidence limit for common mean


DATA = variates Circular response variables to be compared


CCOMPARE implements two nonparametric tests for comparing samples from circular distributions, as described in Fisher (1993, Chapter 5, Sections 5.3.4 – 5.3.6). These are selected using the TEST option, with the following settings.

    compare tests whether the samples have a common mean direction, and estimates the common direction if the directions are not significantly different. There must be 25 or more observations in each sample. The test assumes, without checking, that each distribution is unimodal. (Rayleigh’s test of uniformity against a unimodel alternative is available in procedure CDESCRIBE).
    identical tests whether the samples come from identical distributions. Each sample must have ten or more observations.

By default, TEST=compare,identical.

Printed output is controlled by the PRINT option, with setting

    tests to print the results of the requested tests (default).

The sample observations are supplied, each in a separate variate, using the DATA parameter. Usually they all supply angles measured in degrees, but you can set option ASCALE=radians to supply them all in radians instead.

The test statistics can be saved, in a variate, using the STATISTICS option. The COMMON option can save the estimated common direction, and the LOWER and UPPER options can save its lower and upper 95% confidence limits (all in scalars).


Parameter: DATA.


Full details of the terminology and methodology are given in Fisher (1993, Chapter 5, Sections 5.3.4 – 5.3.6). The two tests are outlined only briefly here.

The test for a common mean direction of two or more unimodal distributions is described in Fisher (1993, Section 5.3.5(b)). Only a large-sample test is implemented, where all samples have 25 or more observations. The method that is used depends on the comparability of the circular dispersions. If the ratio of the maximum to minimum dispersion is less than or equal to four, “Method P” is used (Fisher 1993, page 116). Otherwise “Method M” is used (Fisher 1993, page 117). In either case the resulting test statistic is denoted by Yr, and the null hypothesis of a common mean direction is assessed using a chi-square distribution with degrees of freedom equal to the number of samples minus one. If there is no evidence that the mean directions are different, the common mean direction is estimated, with a 95% confidence interval, using the weighting scheme appropriate to the method (P or M).

The test for whether two or more distributions are identical is described in Fisher (1993, Section 5.3.6). The test requires all the samples to have ten or more observations, but it does not assume unimodality. The test statistic, Wr, is based on the circular ranks of the data values, and can be assessed using a chi-square distribution with degrees of freedom equal to the number of samples minus two. If there is no evidence that the distributions are different, you can use procedure CDESCRIBE to estimate the common direction (after first combining the samples into a single variate, for example using the APPEND procedure).

Action with RESTRICT

Any of the DATA variates may be restricted.


Fisher, N.I. (1993). Statistical Analysis of Circular Data. Cambridge University Press, Cambridge, UK.

See also


Commands for: Basic and nonparametric statistics.


CAPTION      'CCOMPARE example 1',\
             !t('Cross-bed azimuths of paleocurrents',\
             '(Fisher 1993, Statistical analysis of circular data,',\
             'Examples 5.1 & 5.11).');\
VARIATE      [VALUES=284,244,315,169,311,243,329,161,334,152,\
             127,278,143,209,217,154,127,267,245,279] Set[1]
&            [VALUES=294,177,257,301,257,267,329,177,241,315,\
             290,245,245,214,272,224,215,242,186,224] Set[2]
&            [VALUES=275,245,192,218,211,292,287,271,283,313,\
             163,239,181,155,286,220,203,163,268,217] Set[3]
CCOMPARE     Set[]
Updated on March 8, 2019

Was this article helpful?