Learn R Programming

tectonicr (version 0.4.6)

rolling_test: Apply Rolling Functions using Circular Statistical Tests for Uniformity

Description

A generic function for applying a function to rolling margins of an array.

Usage

roll_normchisq(
  obs,
  prd,
  unc = NULL,
  width = NULL,
  by.column = FALSE,
  partial = TRUE,
  fill = NA,
  ...
)

roll_rayleigh( obs, prd, unc = NULL, width = NULL, by.column = FALSE, partial = TRUE, fill = NA, ... )

roll_dispersion( x, y, w = NULL, w.y = NULL, width = NULL, by.column = FALSE, partial = TRUE, fill = NA, ... )

roll_confidence( x, conf.level = 0.95, w = NULL, axial = TRUE, width = NULL, by.column = FALSE, partial = TRUE, fill = NA, ... )

roll_dispersion_CI( x, y, w = NULL, w.y = NULL, R, conf.level = 0.95, width = NULL, by.column = FALSE, partial = TRUE, fill = NA, ... )

roll_dispersion_sde( x, y, w = NULL, w.y = NULL, R, conf.level = 0.95, width = NULL, by.column = FALSE, partial = TRUE, fill = NA, ... )

Value

numeric vector with the test statistic of the rolling test. roll_dispersion_CI returns a 2-column matrix with the lower and the upper confidence limits

Arguments

obs

Numeric vector containing the observed azimuth of \(\sigma_{Hmax}\), same length as prd

prd

Numeric vector containing the modeled azimuths of \(\sigma_{Hmax}\), i.e. the return object from model_shmax()

unc

Uncertainty of observed \(\sigma_{Hmax}\), either a numeric vector or a number

width

integer specifying the window width (in numbers of observations) which is aligned to the original sample according to the align argument. If NULL, an optimal width is estimated.

by.column

logical. If TRUE, FUN is applied to each column separately.

partial

logical or numeric. If FALSE then FUN is only applied when all indexes of the rolling window are within the observed time range. If TRUE (default), then the subset of indexes that are in range are passed to FUN. A numeric argument to partial can be used to determine the minimal window size for partial computations. See below for more details.

fill

a three-component vector or list (recycled otherwise) providing filling values at the left/within/to the right of the data range. See the fill argument of zoo::na.fill() for details

...

optional arguments passed to zoo::rollapply()

x, y

numeric. Directions in degrees

w, w.y

(optional) Weights of x and y, respectively. A vector of positive numbers and of the same length as x.

conf.level

Level of confidence: \((1 - \alpha \%)/100\). (0.95 by default).

axial

logical. Whether the data are axial, i.e. pi-periodical (TRUE, the default) or directional, i.e. \(2 \pi\)-periodical (FALSE).

R

The number of bootstrap replicates.

Examples

Run this code
data("plates")
plate_boundary <- subset(plates, plates$pair == "na-pa")
data("san_andreas")
PoR <- subset(nuvel1, nuvel1$plate.rot == "na")
distance <- distance_from_pb(
  x = san_andreas,
  PoR = PoR,
  pb = plate_boundary,
  tangential = TRUE
)
dat <- san_andreas[order(distance), ]
dat.PoR <- PoR_shmax(san_andreas, PoR, "right")
roll_normchisq(dat.PoR$azi.PoR, 135, dat$unc) |> head()
roll_rayleigh(dat.PoR$azi.PoR, prd = 135, unc = dat$unc) |> head()
roll_dispersion(dat.PoR$azi.PoR, y = 135, w = 1 / dat$unc) |> head()
roll_confidence(dat.PoR$azi.PoR, w = 1 / dat$unc) |> head()
# \donttest{
roll_dispersion_CI(dat.PoR$azi.PoR, y = 135, w = 1 / dat$unc, R = 10) |> head()
# }

Run the code above in your browser using DataLab