kernel_dispersion function

Adaptive Kernel Dispersion

Adaptive Kernel Dispersion

Stress field and wavelength analysis using circular dispersion (or other statistical estimators for dispersion)

kernel_dispersion( x, stat = c("dispersion", "nchisq", "rayleigh"), grid = NULL, lon_range = NULL, lat_range = NULL, gridsize = 2.5, min_data = 3, threshold = 1, arte_thres = 200, dist_threshold = 0.1, R_range = seq(100, 2000, 100), ... ) dispersion_grid(...)

Arguments

  • x: sf object containing

    • azi: Azimuth in degree
    • unc: Uncertainties of azimuth in degree
    • prd: Predicted value for azimuth
  • stat: The measurement of dispersion to be calculated. Either "dispersion" (default), "nchisq", or "rayleigh" for circular dispersion, normalized Chi-squared test statistic, or Rayleigh test statistic.

  • grid: (optional) Point object of class sf.

  • lon_range, lat_range: (optional) numeric vector specifying the minimum and maximum longitudes and latitudes (are ignored if "grid" is specified).

  • gridsize: Numeric. Target spacing of the regular grid in decimal degree. Default is 2.5. (is ignored if "grid" is specified)

  • min_data: Integer. Minimum number of data per bin. Default is 3

  • threshold: Numeric. Threshold for stat value (default is 1)

  • arte_thres: Numeric. Maximum distance (in km) of the grid point to the next data point. Default is 200

  • dist_threshold: Numeric. Distance weight to prevent overweight of data nearby (0 to 1). Default is 0.1

  • R_range: Numeric value or vector specifying the (adaptive) kernel half-width(s) as search radius (in km). Default is seq(50, 1000, 50)

  • ...: optional arguments to dist_greatcircle()

Returns

sf object containing

  • lon,lat: longitude and latitude in degree
  • stat: output of function defined in stat
  • R: The rearch radius in km.
  • mdr: Mean distance of datapoints per search radius
  • N: Number of data points in search radius

Note

dispersion_grid() was renamed to kernel_dispersion() to create a more consistent API.

Examples

data("nuvel1") PoR <- subset(nuvel1, nuvel1$plate.rot == "na") san_andreas_por <- san_andreas san_andreas_por$azi <- PoR_shmax(san_andreas, PoR, "right")$azi.PoR san_andreas_por$prd <- 135 kernel_dispersion(san_andreas_por)

See Also

circular_dispersion(), norm_chisq(), rayleigh_test()

  • Maintainer: Tobias Stephan
  • License: GPL (>= 3)
  • Last published: 2025-03-01