dispersion {tectonicr} | R Documentation |
Circular Distance and Dispersion
Description
Circular distance between two angles and circular dispersion of angles about a specified angle.
Usage
circular_distance(x, y, axial = TRUE, na.rm = TRUE)
circular_dispersion(
x,
y = NULL,
w = NULL,
w.y = NULL,
norm = FALSE,
axial = TRUE,
na.rm = TRUE
)
circular_distance_alt(x, y, axial = TRUE, na.rm = TRUE)
circular_dispersion_alt(
x,
y = NULL,
w = NULL,
w.y = NULL,
norm = FALSE,
axial = TRUE,
na.rm = TRUE
)
Arguments
x , y |
vectors of numeric values in degrees. |
axial |
logical. Whether the data are axial, i.e. pi-periodical
( |
na.rm |
logical. Whether |
w , w.y |
(optional) Weights. A vector of positive numbers and of the same
length as |
norm |
logical. Whether the dispersion should be normalized by the maximum possible angular difference. |
Details
circular_distance_alt()
and circular_dispersion_alt()
are the alternative
versions in Mardia and Jupp (2000), pp. 19-20.
The alternative dispersion has a minimum at the sample median.
Value
circular_distance
returns a numeric vector of positive numbers,
circular_dispersion
returns a positive number.
Note
If y
is NULL
, than the circular variance is returned.
References
Mardia, K.V. (1972). Statistics of Directional Data: Probability and Mathematical Statistics. London: Academic Press.
Mardia, K.V., and Jupp, P.E (1999). Directional Statistics, Wiley Series in Probability and Statistics. John Wiley & Sons, Inc., Hoboken, NJ, USA. doi:10.1002/9780470316979
See Also
circular_mean()
, circular_var()
.
Examples
a <- c(0, 2, 359, 6, 354)
circular_distance(a, 10) # distance to single value
b <- a + 90
circular_distance(a, b) # distance to multiple values
data("nuvel1")
PoR <- subset(nuvel1, nuvel1$plate.rot == "na")
sa.por <- PoR_shmax(san_andreas, PoR, "right")
circular_dispersion(sa.por$azi.PoR, y = 135)
circular_dispersion(sa.por$azi.PoR, y = 135, w = 1 / san_andreas$unc)