R: Test Whether Points Are Inside A Multidimensional Box

inside.boxx {spatstat.geom} | R Documentation

## Test Whether Points Are Inside A Multidimensional Box

### Description

Test whether points lie inside or outside a given multidimensional box.

### Usage

     inside.boxx(..., w)

### Arguments

`...` | Coordinates of points to be tested. One vector for each dimension (all of same length). (Alternatively, a single point pattern object of class `"ppx"` or its coordinates as a `matrix`, `data.frame`, or `"hyperframe"`)
`w` | A window. This should be an object of class `boxx`, or can be given in any format acceptable to `as.boxx()`.

### Details

This function tests whether each of the provided points lies inside or outside the window `w` and returns `TRUE` if it is inside.

The boundary of the window is treated as being inside.

Normally each argument provided (except `w`) must be numeric vectors of equal length (length zero is allowed) containing the coordinates of points. Alternatively a single point pattern (object of class `"ppx"`) can be given; then the coordinates of the point pattern are extracted. A single `matrix`, `data.frame`, or `"hyperframe"`) with the coordinates is also accepted.

### Value

Logical vector whose `i`th entry is `TRUE` if the corresponding point is inside `w`.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

Rolf Turner r.turner@auckland.ac.nz

and Ege Rubak rubak@math.aau.dk

### See Also

`boxx`, `as.boxx`

### Examples

      # 3D box with side [0,2]
      w <- boxx(c(0,2), c(0,2), c(0,2))

      # Random points in box with side [-1,3]
      x <- runif(30, min=-1, max=3)
      y <- runif(30, min=-1, max=3)
      z <- runif(30, min=-1, max=3)

      # Points falling in smaller box
      ok <- inside.boxx(x, y, z, w=w)

      # Same using a point pattern as argument:
      X <- ppx(data = cbind(x, y, z), domain = boxx(c(0,3), c(0,3), c(0,3)))
      ok2 <- inside.boxx(X, w=w)

      # Same using the coordinates given as data.frame/matrix/hyperframe
      coords_mat <- cbind(x,y,z)
      ok_mat <- inside.boxx(coords_mat, w=w)
      coords_df <- data.frame(x,y,z)
      ok_df <- inside.boxx(coords_mat, w=w)
      coords_hyper <- hyperframe(x,y,z)
      ok_hyper <- inside.boxx(coords_mat, w=w)

[Package spatstat.geom version 2.2-0 Index]