circular.averaging
calculates the average direction (0 - 360) given a
vector of directions.vector.averaging
calculates the average
distance and direction given a vector of directions and a vector of
distances.
circular.averaging(direction, deg = TRUE)
vector.averaging(direction, distance, deg = TRUE)
a vector of directions given in degrees (0 - 360) if `deg == TRUE` or in radians if `deg == FALSE`
a boolean object defining if `direction` is in degrees (`TRUE`) or radians (`FALSE`)
a vector of distances associated with each direction
circular.averaging
returns the average direction while
vector.averaging
returns a list with 2 elements distance & direction
functions return `NA` if the average distance or direction is not valid... e.g., when averaging directions of 0 & 180 degrees, the result could theoretically be 90 or 270 but is practically neither.
This function was taken from the now archived, as of 08/03/2020, SDMtools.
#EXAMPLE circular.averaging
circular.averaging(c(0,90,180,270)) #result is NA
#> [1] NA
circular.averaging(c(70,82,96,110,119,259))
#> [1] 99.68147
#EXAMPLE vector.averaging
vector.averaging(c(10,20,70,78,108), distance=10)
#> $distance
#> [1] 8.035995
#>
#> $direction
#> [1] 57.38924
#>
vector.averaging(c(159,220,258,273,310),distance=runif(5))
#> $distance
#> [1] 0.3009788
#>
#> $direction
#> [1] 236.6898
#>