Learn R Programming

tectonicr (version 0.4.9)

watson_wheeler_test_perm: Watson-Wheeler Test of Homogeneity of Means

Description

A a non-parametric statistical test used to determine whether two or more independent samples of circular data (angles, directions, or periodic times) come from the same underlying population distribution. The difference between the samples can be in either the mean or the variance.

Usage

watson_wheeler_test_perm(x, y, axial = TRUE, n_perm = 1000L, alpha = NULL)

Value

list

Arguments

x, y

numeric vectors. Angles in degrees

axial

logical. Whether the data are axial, i.e. \(\pi\)-periodical (TRUE, the default) or directional, i.e. \(2 \pi\)-periodical (FALSE). In case of axial data, the angles will be doubled for the test.

n_perm

integer. Number of permutations

alpha

Significance level of the test. Valid levels are 0.01, 0.05, and 0.1. This argument may be omitted (NULL, the default), in which case, a range for the p-value will be returned.

Details

Hypotheses

Null Hypothesis (\(H_0\)) The samples come from identical populations (meaning both the mean direction and the dispersion/variance are homogeneous across groups).

Alternative Hypothesis (\(H_1\)): At least one sample comes from a different population distribution, which can be due to a difference in the mean direction, a difference in variance/concentration, or both.

Interpretation

Test Statistic (W): This value follows an approximate \(\chi^2\) distribution. Higher values of W indicate larger discrepancies between the angular distributions of your groups.

  • If the p-value is less than your significance level (commonly \(\alpha\) = 0.05), you reject the null hypothesis. This means you have strong evidence that the groups differ significantly in their central direction or spread around the circle.

  • If the p-value is greater than 0.05, you fail to reject the null hypothesis, meaning there is no statistically significant evidence of difference among the groups.

See Also

Other Tests: ar_test(), kuiper_test(), norm_chisq(), rayleigh-test, watson_test(), watson_two_sample, weighted-rayleigh-test

Examples

Run this code
set.seed(20250411)
x1 <- c(35, 45, 50, 55, 60, 70, 85, 95, 105, 120)
x2 <- c(75, 80, 90, 100, 110, 130, 135, 140, 150, 160, 165)
watson_wheeler_test_perm(x1, x2, axial = FALSE)

data1 <- rvm(n=20, mean = 0, kappa=3)
data2 <- rvm(n=20, mean = 90, kappa=2)
watson_wheeler_test_perm(data1, data2, axial = FALSE)

# San Andreas Fault Data:
data(san_andreas)
data("nuvel1")
PoR <- subset(nuvel1, nuvel1$plate.rot == "na")
sa.por <- PoR_shmax(san_andreas, PoR, "right")
watson_wheeler_test_perm(sa.por$azi.PoR, rvm(100, 135, 10))

Run the code above in your browser using DataLab