Learn R Programming

GET (version 0.1-6)

combined_scaled_MAD_envelope: Combined global scaled maximum absolute difference (MAD) envelope tests

Description

Given a list of 'curve_set' objects (see create_curve_set), a combined global scaled (directional quantile or studentized) MAD envelope test is performed with the test functions saved in the curve set objects. Details of the combined test can be found in Mrkvicka et al. (2017)

Usage

combined_scaled_MAD_envelope(
  curve_sets,
  type = c("qdir", "st"),
  alpha = 0.05,
  probs = c(0.025, 0.975),
  central = "mean",
  ...
)

Arguments

curve_sets

A curve_set (see create_curve_set) or an envelope object containing a data function and simulated functions. If an envelope object is given, it must contain the summary functions from the simulated patterns which can be achieved by setting savefuns = TRUE when calling envelope. Alternatively, a list of curve_set or envelope objects can be given.

type

Either "qdir" for the direction quantile envelope test (type 'qdir' in global_envelope_test) or "st" for the studentized envelope test (type 'st' global_envelope_test).

alpha

The significance level. The 100(1-alpha)% global envelope will be calculated.

probs

A two-element vector containing the lower and upper quantiles for the measure 'q' or 'qdir', in that order and on the interval [0, 1]. The default values are 0.025 and 0.975, suggested by Myllym<U+00E4>ki et al. (2015, 2017).

central

Either "mean" or "median". If the curve sets do not contain the component theo for the theoretical central function, then the central function (used for plotting only) is calculated either as the mean or median of functions provided in the curve sets.

...

Additional parameters to be passed to central_region.

References

Mrkvicka, T., Myllym<U+00E4>ki, M. and Hahn, U. (2017) Multiple Monte Carlo testing, with applications in spatial point processes. Statistics & Computing 27(5): 1239<U+2013>1255. DOI: 10.1007/s11222-016-9683-9

Examples

Run this code
# NOT RUN {
if(require("spatstat", quietly=TRUE)) {
  # As an example test CSR of the saplings point pattern from spatstat by means of
  # L, F, G and J functions.
  data(saplings)
  X <- saplings

  
# }
# NOT RUN {
nsim <- 499 # Number of simulations for the tests
# }
# NOT RUN {
  
# }
# NOT RUN {
  # Specify distances for different test functions
  n <- 500 # the number of r-values
  rmin <- 0; rmax <- 20; rstep <- (rmax-rmin)/n
  rminJ <- 0; rmaxJ <- 8; rstepJ <- (rmaxJ-rminJ)/n
  r <- seq(0, rmax, by=rstep)    # r-distances for Lest
  rJ <- seq(0, rmaxJ, by=rstepJ) # r-distances for Fest, Gest, Jest

  # Perform simulations of CSR and calculate the L-functions
  env_L <- envelope(X, nsim=nsim,
   simulate=expression(runifpoint(X$n, win=X$window)),
   fun="Lest", correction="translate",
   transform = expression(.-r), # Take the L(r)-r function instead of L(r)
   r=r,                         # Specify the distance vector
   savefuns=TRUE,               # Save the estimated functions
   savepatterns=TRUE)           # Save the simulated patterns
  # Take the simulations from the returned object
  simulations <- attr(env_L, "simpatterns")
  # Then calculate the other test functions F, G, J for each simulated pattern
  env_F <- envelope(X, nsim=nsim,
                    simulate=simulations,
                    fun="Fest", correction="Kaplan", r=rJ,
                    savefuns=TRUE)
  env_G <- envelope(X, nsim=nsim,
                    simulate=simulations,
                    fun="Gest", correction="km", r=rJ,
                   savefuns=TRUE)
  env_J <- envelope(X, nsim=nsim,
                    simulate=simulations,
                    fun="Jest", correction="none", r=rJ,
                    savefuns=TRUE)

  # Crop the curves to the desired r-interval I
  curve_set_L <- crop_curves(env_L, r_min=rmin, r_max=rmax)
  curve_set_F <- crop_curves(env_F, r_min=rminJ, r_max=rmaxJ)
  curve_set_G <- crop_curves(env_G, r_min=rminJ, r_max=rmaxJ)
  curve_set_J <- crop_curves(env_J, r_min=rminJ, r_max=rmaxJ)

  # The combined directional quantile envelope test
  res <- combined_scaled_MAD_envelope(curve_sets=list(curve_set_L, curve_set_F,
                                                      curve_set_G, curve_set_J),
                                      type = "qdir")
  plot(res, labels=c("L(r)-r", "F(r)", "G(r)", "J(r)"),
       base_size=12)
}

# }

Run the code above in your browser using DataLab