SpaDES (version 1.2.0)

initiateAgents: SELES - Initiate agents

Description

Sets the the number of agents to initiate. THIS IS NOT FULLY IMPLEMENTED.

A SELES-like function to maintain conceptual backwards compatability with that simulation tool. This is intended to ease transitions from SELES.

You must know how to use SELES for these to be useful.

Usage

initiateAgents(map, numAgents, probInit, asSpatialPoints = TRUE, indices)
"initiateAgents"(map, numAgents, probInit, asSpatialPoints)
"initiateAgents"(map, probInit, asSpatialPoints)
"initiateAgents"(map, numAgents, probInit, asSpatialPoints = TRUE, indices)
"initiateAgents"(map, numAgents, probInit, asSpatialPoints)
"initiateAgents"(map, numAgents, probInit, asSpatialPoints = TRUE, indices)

Arguments

map
RasterLayer with extent and resolution of desired return object
numAgents
numeric resulting from a call to numAgents
probInit
a Raster resulting from a probInit call
asSpatialPoints
logical. Should returned object be RasterLayer or SpatialPointsDataFrame (default)
indices
numeric. Indices of where agents should start

Value

A SpatialPointsDataFrame, with each row representing an individual agent

Examples

Run this code
library(dplyr)
library(raster)
map <- raster(xmn = 0, xmx = 10, ymn = 0, ymx = 10, val = 0, res = 1)
map <- gaussMap(map, scale = 1, var = 4, speedup = 1)
pr <- probInit(map, p = (map/maxValue(map))^2)
agents <- initiateAgents(map, 100, pr)
if (interactive()) {
  Plot(map, new = TRUE)
  Plot(agents, addTo = "map")
}

# If producing a Raster, then the number of points produced can't be more than
# the number of pixels:
agentsRas <- initiateAgents(map, 30, pr, asSpatialPoints = FALSE)
if (interactive()) Plot(agentsRas)

# Check that the agents are more often at the higher probability areas based on pr
out <- data.frame(stats::na.omit(crosstab(agentsRas, map)), table(round(map[]))) %>%
   dplyr::mutate(selectionRatio = Freq/Freq.1) %>%
   dplyr::select(-Var1, -Var1.1) %>%
   dplyr::rename(Present = Freq, Avail = Freq.1, Type = Var2)
out

Run the code above in your browser using DataLab