tectonicr 0.4.10
tectonicr 0.4.9002
2026-11-02
NEW implementations
- added circular tests:
hodges_ajne_test(),
rao_spacing_test(), watson_williams_test(),
uniform_scores_test(), equal_kappa_test(), and
walraff_test(),
Breaking changes
weighted_rayleigh_perm() now returns an
"htest" object, like
rayleigh_test_perm().
weighted_rayleigh() with mu = NULL now
performs a weighted Rayleigh test instead of a V-test around the
estimated mean direction, and gains an alpha argument.
watson_test(dist = "vonmises") no longer returns a
p-value, because only tabulated critical values are available. The
p-value range is shown in the printed output and returned as
p.range.
- Test statistics are relabelled:
U2 for
watson_two_test_perm() (was G) and
R* for watson_wheeler_test_perm() (was
G). rayleigh_test_perm() now labels the mean
resultant length Rbar (was R).
Bug fixes
weighted_rayleigh() used the sample size instead of the
effective sample size for unequal weights, which made the test
anti-conservative. Its decision message compared the statistic with the
p-value.
weighted_rayleigh_perm() simulated the null
distribution without the weights, so it rejected almost always when
mu = NULL.
watson_test(dist = "uniform") ignored
axial = TRUE.
watson_two_test() and
watson_two_test_perm() are now corrected for ties,
e.g. azimuths rounded to whole degrees. Identical samples previously
gave a non-zero U².
watson_two_test_perm() and
watson_wheeler_test_perm() did not wrap doubled axial
angles because of operator precedence.
- The Wilkie (1983) p-value for the Rayleigh test used the wrong
resultant length.
watson_test() no longer fails with
alpha = NULL.
Improvements
- Permutation and Monte Carlo tests are much faster:
ar_test(), watson_two_test_perm(),
watson_wheeler_test_perm(),
rayleigh_test_perm(), weighted_rayleigh_perm()
and rao_spacing_test() are vectorised and run their
simulations in chunks to limit memory use.
kuiper_test() now returns alpha and
reject, as documented.
watson_two_test() warns for combined sample sizes below
18.
watson_wheeler_test_perm() gives tied values their
average rank, so its result is reproducible.
- Monte Carlo p-values count simulated values equal to the observed
statistic, allowing for floating-point rounding.
Documentation
- Corrected the interpretation of the Rayleigh test: large values of R̄
reject uniformity, and the V-test is one-sided.
rayleigh_test_perm() and
weighted_rayleigh_perm() are described as Monte Carlo tests
rather than permutation tests.
watson_wheeler_test_perm() is described as a test of
equal distributions, not equal means.
tectonicr 0.4.9
2026-08-28
- NEW: Added additional distribution functions (Circular Uniform,
Wrapped Normal, Wrapped Cauchy) for density estimation. The functions
are also available for kernel density estimation and calculating the
circular mode.
- NEW: Statistical tests: Angular Randomisation Test of Homogeneity
(
ar_test()), Watson-Wheeler permutation test
(waton_wheeler_test_perm()), Watson 2-sample permutation
test watson_two_test_perm(), and permutation Rayleigh test
(rayleigh_test_perm().
- NEW: Kernel density estimation in circular plot can be plotted as
filled polygon through option
fill
- NEW: 2 example files datasets (
homing and
striae) added for testing directional data
- Many functions have been optimized and debugged using Claude.AI
(including
stress2grid(), rayleigh_test(),
kuiper_test() and watson_test()
- North label “N” in
circular_plot() (and thus in
rose()) now a placed text instead of
mtext.
tectonicr 0.4.8
2025-12-11
- NEW:
ortensor2d() to calculate summary statistics for
axial data
- NEW:
data2PoR(): Convenience function to add PoR
coordinates and PoR azimuths to data
- NEW:
geom_azimuth() and
geom_azimuthpoint(): convenience functions to plot
directions as bars in ggplot2
- NEW:
weighting() convenience function to assign
weightings for angles based on optional algorithms
- “N” in rose diagram now in bold
- stacked dot and density function in rose plots are visualized in
expended plotting windows
- Deviation is now positive for counterclockwise deviation of observed
azimuth wrt. predicted azimuth
est.kappa() now uses approximation (as precise as
original but faster). Original algorithm now in
est.kappa.MLE()
- minor bug fix in
relative_rotation()
- safe condition checks with
isTRUE or
isFALSE
tectonicr 0.4.7
2025-05-22
- NEW: compatibility for World Stress Map Database 2025.
download_WSM() has option "version" for
the user to decide which WSM version should be downloaded. The most
recent 2025 version is the default.
parse_quality() assigns an uncertainty of 90 degrees to
X-ranked stress data in the 2025 WSM version.
- NEW: calculate shortest distance to plate boundary (which is not
always the best choice! see function description for details.)
- major bug fix in
est.kappa(): converts to directional
data by doubling the angles
- calculating circular mode in
circular_summary() now
optional due to performance issues
- some weighting parameters in
stress2grid() have been
renamed to me more alike with {gstat}
- choice of algorithm to calculate confidence interval now optional in
circular_summary()
- minor bug fixes
tectonicr 0.4.6
2025-02-27
- performance boost for
stress2grid() and friends
tectonicr 0.4.5
2025-02-26
- new function
distance_binned_stats() to calculate
summary statistics along distance intervals: The function supersedes
distroll_circstats() and friends because it is faster and
more flexible
PoR_to_geographical() and
geographical_to_PoR() now accept data.frame,
sf or raster as input
- new
PoR_azimuth() function to transform directions in
the PoR coordinate system / doesn’t need to be Shmax data
- bug fix in
circular_distance() and
circular_dispersion() when using
axial=FALSE
- bug fix in
dvm() when using
axial=FALSE
tectonicr 0.4.4
- additional plate motion models available in
cpm_models
- Use of {circular} package in
dvm(), pvm(),
qvm() and rvm()
tectonicr 0.4.3.92
PoR_distance(): function to calculate distance to
PoR
tectonicr 0.4.3
- performance upgrade on spatial interpolation
- spatial interpolation of more summary statistics
- new vignette on spatial analysis
- optional grid lines added to rose
tectonicr 0.4.0.9001
2024-09-12
- bug fix in
load_wsm()
- CI now double when axial data
tectonicr 0.4.0
2024-08-08
- minor performance upgrade
- CRAN submission
tectonicr 0.3.11
2024-07-26
- bug fixes
- minor performance upgrade
- QQ plot for circular data
tectonicr 0.3.10
2024-07-13
- more statistical estimators
- jittered circular dot plot
tectonicr 0.3.9
2024-06-20
- stacked dots for
rose() diagram
- density as multiples of a von Mises distribution added for circular
plots
tectonicr 0.3.8
2024-06-17
superimposed_shmax() and
superimposed_shmax_PB() to model the stress orientation
using multiple plate boundaries
tectonicr 0.3.7
2024-06-09
- download WSM2016 data from GFZ server using
download_WSM2016()
tectonicr 0.3.6
- bug fixes in
weighted_rayleigh()
tectonicr 0.3.2
2024-05-27
- adjusted due to functions’ move from
spatstat.geom to
spatstat.univar
tectonicr 0.3.0
2024-05-14
- weighting powers added to spatial interpolation
stress2grid()
deviation_norm() accepts two arguments
tectonicr 0.2.98
2024-04-07
tectonicr 0.2.97
2024-04-07
dispersion_grid() deprecated and replaced by
kernel_dispersion() (details in vignette E)
tectonicr 0.2.96
2023-10-15
tectonicr 0.2.95
2023-10-15
- bug fixes in
rose() (e.g. symmetrical fans when axial
data is plotted)
- weighted rose diagram enabled
- add single line and fans to
rose()
- add mean and confidence interval to
rose()
- corrected typos in manual
- estimate kappa of a von Mises
distribution:
est.kapp()
- no doubling of angles when testing Watson distribution
watson_test()
tectonicr 0.2.94
2023-09-25
- mean direction and spread on
rose() diagram
tectonicr 0.2.93
2023-09-10
- prepared for CRAN submission
- bootstrap statistics of circular dispersion
- multiple angles as input for circular dispersion and daughter
functions
- spatial distribution of the dispersion
tectonicr 0.2.92
2023-05-16
- statistical tests for circular uniformity and goodness-of-fit, e.g.
rayleigh_test()
- bug fixes
tectonicr 0.2.8
2023-03-01
- estimator for the error of predictions:
prd_err()
- area-weighted
rose() diagrams
tectonicr 0.2.7
2023-01-25
- optimized some functions for better performance
- bug fixes
tectonicr 0.2.6
2023-01-06
- distance to plate boundary in km
- coordinate transformation using quaternions
- plot the transformed azimuth vs. distance to plate boundary
- quick plotting:
quick_plot()
tectonicr 0.2.5
- Calculation of rotation replaced by quaternions to boost
performance
sp class output for small circles, great circles and
loxodromes deprecated
- new functions added to calculate mean/median stress direction, e.g.
circular_mean(), circular_median()
tectonicr 0.1
- new functions to rotate stress directions and data points into PoR
coordinate system
- calculate distance of data point from plate boundaries
- Added functions to calculate relative plate motions from a set of
absolute plate motions or different relative plate motions
PlateTectonicStressR 0.0.1
- New
euler_loxodrome() function to construct loxodromes
directing towards an given point or Euler pole.
PlateTectonicStressR
0.0.0.9000
- Added a
NEWS.md file to track changes to the
package.