First, I have to say my mathematical understanding of circular statistics is rather limited. I need to carry out a statistical comparison of means of circular data, i.e. two groups of data (phase values) in radians.

My primary choice was to use R's watson.williams.test. However, my data failed to meet the assumptions of this tests and I've got a warning that the test may not be applicable.

Warning message:                                                               
In watson.williams.test.default(x, group) :         
  Global concentration parameter: 1.16 < 2. The test is probably not applicable

I found a this page which says,

Note: the Watson-Williams test applies to data from a von Mises distribution where the different samples have the same dispersions. If these assumptions are invalid, you should consider using one of the non-parametric tests. See, for example Wheeler-Watson Test.

Sounded like watson.wheeler.test is my hope. However, the documentation of watson.wheeler.test says,

The difference between the samples can be in either the mean or the variance.

So, this is not conclusive and it's a dead end. Can someone suggest any other alternatives for watson.willimas.test in R, MATLAB or Python?


You can do Watson's large sample nonparametric test or Bootstrap version of Watson's nonparametric test. Both these tests are available in R "circular" package. There is a good book named "Circular statistics in R" written by Arthur Pewsey et al. There you will find the details on what functions to use and how to do the tests.

| cite | improve this answer | |
  • $\begingroup$ Pewsey has co-authors. $\endgroup$ – Nick Cox Jan 26 '18 at 10:11

Philipp Berens' CircStat toolbox for MATLAB offers circ_cmtest, which is a non-parametric multi-sample test for equal medians. It says it is similar to a Kruskal-Wallis test for linear data. Becuase it assumes data are non-parametric, comparison of medians rather than means makes good sense. It's quite simple to use.

| cite | improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.