inRadius: 'Agents' in radius

inRadiusR Documentation

Agents in radius

Description

Report the patches or turtles among agents2 within given distances of each of the agents. Currently, this function multiplies radius by 1.0000001 so that the response of inRadius is inclusive.

Usage

inRadius(agents, radius, agents2, world, torus = FALSE)

## S4 method for signature 'matrix,numeric,matrix'
inRadius(agents, radius, agents2, world, torus = FALSE)

Arguments

agents

Matrix (ncol = 2) with the first column pxcor and the second column pycor representing the patches coordinates, or

          `AgentMatrix` object representing the moving `agents`.
radius

Numeric. Vector of distances from agents to locate agents2. Must be of length 1 or of length agents.

agents2

Matrix (ncol = 2) with the first column pxcor and the second column pycor representing the patches coordinates, or

          `AgentMatrix` object representing the moving `agents`.
world

WorldMatrix or worldArray object.

torus

Logical to determine if the world is wrapped. Default is torus = FALSE.

Details

Distances from/to patches are calculated from/to their center.

     If `torus = FALSE`, `world` does not need to be provided.

     If `torus = TRUE`, the `radius` distances are calculated
     around the sides of the `world` to select `agents2`.

Value

Matrix (ncol = 3) with the first column pxcor and the second column pycor representing the coordinates of the patches among agents2 within radius distances for each agents which are represented by the id column, if agents2 are patches, or

    Matrix (`ncol` = 2) with the first column `who`
    representing the `who` numbers of the
    `turtles` among `agents2` within `radius` distances for each `agents`
    which are represented by the `id` column, if
    `agents2` are `turtles`.

Author(s)

Sarah Bauduin

References

Wilensky, U. 1999. NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University. Evanston, IL.

See Also

https://ccl.northwestern.edu/netlogo/docs/dictionary.html#in-radius

Examples

w1 <- createWorld(minPxcor = 0, maxPxcor = 4, minPycor = 0, maxPycor = 4)
t1 <- createTurtles(n = 10, coords = randomXYcor(w1, n = 10))

if (requireNamespace("sf", quietly = TRUE)) {
  p1 <- inRadius(agents = patch(w1, 0, 0), radius = 2, agents2 = patches(w1))
  t2 <- inRadius(agents = patch(w1, 0, 0), radius = 2, agents2 = t1)
  p2 <- inRadius(agents = t1, radius = 2, agents2 = patches(w1))
  t3 <- inRadius(agents = turtle(t1, who = 0), radius = 2, agents2 = t1)
}


PredictiveEcology/NetLogoR documentation built on Jan. 31, 2024, 9:31 p.m.