Skip to contents

Statistical estimators of the distribution of a set of vectors

Usage

v_mean(x, w = NULL)

v_var(x, w = NULL)

v_delta(x, w = NULL)

v_rdegree(x, w = NULL)

v_sde(x, w = NULL)

v_confidence_angle(x, w = NULL, alpha = 0.05)

estimate_k(x, w = NULL)

Arguments

x

numeric. Can be three element vector, three column array, or an object of class "line" or "plane"

w

numerical vector of weights the same length as x giving the weights to use for elements of x.

alpha

significance level (0.05 by default)

Details

v_mean returns the spherical mean of a set of vectors (object of class of x). The function is shortcut for vresultant(x, mean = TRUE) when the argument is a "plane" or "line" object.

v_var returns the spherical variance (numeric), based on resultant length (Mardia 1972).

v_delta returns the cone angle containing ~63% of the data (in degree if x is a "plane" or "line", or in radians if otherwise). For enough large sample it approaches the angular standard deviation ("csd") of the Fisher statistics.

v_rdegree returns the degree of preferred orientation of vectors, range: (0, 1).

v_sde returns the spherical standard error (numeric). If the number of data is less than 25, if will print a additional message, that the output value might not be a good estimator.

v_confidence_angle returns the semi-vertical angle \(q\) about the mean \(\mu\) (in degree if x is a "plane" or "line", or in radians if otherwise). The \(100(1-\alpha)\%\) confidence interval is than given by \(\mu \pm q\). estimate_k returns the estimated concentration of the von Mises-Fisher distribution \(\kappa\) (after Sra, 2011).

Examples

set.seed(1234)
x <- rvmf(100, mu = Line(120, 50), k = 5)
v_mean(x)
#>       azimuth   plunge
#> [1,] 112.3871 52.61507
#> attr(,"class")
#> [1] "line"
v_var(x)
#> [1] 0.254336
v_delta(x)
#> [1] 41.78384
v_rdegree(x)
#> [1] 0.4913279
v_sde(x)
#> [1] 4.625489
v_confidence_angle(x)
#> [1] 8.032164
estimate_k(x)
#> [1] 4.104622
fisher_statistics(x)
#> $k
#> [1] 3.892488
#> 
#> $csd
#> [1] 41.0555
#> 
#> $csd_2s
#> [1] 70.96013
#> 
#> $alpha
#> [1] 8.301902
#> 

#' weights:
x2 <- Line(c(0, 0), c(0, 90))
v_mean(x2)
#>      azimuth plunge
#> [1,]       0     45
#> attr(,"class")
#> [1] "line"
v_mean(x2, w = c(1, 2))
#>      azimuth   plunge
#> [1,]       0 63.43495
#> attr(,"class")
#> [1] "line"
v_var(x2)
#> [1] 0.2928932
v_var(x2, w = c(1, 2))
#> [1] 0.254644