rayleigh_test {tectonicr} | R Documentation |
Rayleigh Test of Circular Uniformity
Description
Performs a Rayleigh test for uniformity of circular/directional data by assessing the significance of the mean resultant length.
Usage
rayleigh_test(x, mu = NULL, axial = TRUE)
Arguments
x |
numeric vector. Values in degrees |
mu |
(optional) The specified or known mean direction (in degrees) in alternative hypothesis |
axial |
logical. Whether the data are axial, i.e. |
Details
H_0
:angles are randomly distributed around the circle.
H_1
:angles are from unimodal distribution with unknown mean direction and mean resultant length (when
mu
isNULL
. Alternatively (whenmu
is specified), angles are uniformly distributed around a specified direction.
If statistic > p.value
, the null hypothesis is rejected,
i.e. the length of the mean resultant differs significantly from zero, and
the angles are not randomly distributed.
Value
a list with the components:
statistic
mean resultant length
p.value
significance level of the test statistic
p.value2
modified significance level (Cordeiro and Ferrari, 1991)
Note
Although the Rayleigh test is consistent against (non-uniform)
von Mises alternatives, it is not consistent against alternatives with
p = 0
(in particular, distributions with antipodal symmetry, i.e. axial
data). Tests of non-uniformity which are consistent against all alternatives
include Kuiper's test (kuiper_test()
) and Watson's U^2
test
(watson_test()
).
References
Mardia and Jupp (2000). Directional Statistics. John Wiley and Sons.
Wilkie (1983): Rayleigh Test for Randomness of Circular Data. Appl. Statist. 32, No. 3, pp. 311-312
Jammalamadaka, S. Rao and Sengupta, A. (2001). Topics in Circular Statistics, Sections 3.3.3 and 3.4.1, World Scientific Press, Singapore.
See Also
mean_resultant_length()
, circular_mean()
, norm_chisq()
,
kuiper_test()
, watson_test()
Examples
# Example data from Mardia and Jupp (2001), pp. 93
pidgeon_homing <- c(55, 60, 65, 95, 100, 110, 260, 275, 285, 295)
rayleigh_test(pidgeon_homing, axial = FALSE)
# Example data from Davis (1986), pp. 316
finland_stria <- c(
23, 27, 53, 58, 64, 83, 85, 88, 93, 99, 100, 105, 113,
113, 114, 117, 121, 123, 125, 126, 126, 126, 127, 127, 128, 128, 129, 132,
132, 132, 134, 135, 137, 144, 145, 145, 146, 153, 155, 155, 155, 157, 163,
165, 171, 172, 179, 181, 186, 190, 212
)
rayleigh_test(finland_stria, axial = FALSE)
rayleigh_test(finland_stria, mu = 105, axial = FALSE)
# Example data from Mardia and Jupp (2001), pp. 99
atomic_weight <- c(
rep(0, 12), rep(3.6, 1), rep(36, 6), rep(72, 1),
rep(108, 2), rep(169.2, 1), rep(324, 1)
)
rayleigh_test(atomic_weight, 0, axial = FALSE)
# San Andreas Fault Data:
data(san_andreas)
rayleigh_test(san_andreas$azi)
data("nuvel1")
PoR <- subset(nuvel1, nuvel1$plate.rot == "na")
sa.por <- PoR_shmax(san_andreas, PoR, "right")
rayleigh_test(sa.por$azi.PoR, mu = 135)