SpaDES (version 1.1.4)

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 http://www.gowlland.ca/{SELES}.

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

Usage

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

## S3 method for class 'Raster,missing,missing,ANY,missing': initiateAgents(map, numAgents, probInit, asSpatialPoints)

## S3 method for class 'Raster,missing,Raster,ANY,missing': initiateAgents(map, probInit, asSpatialPoints)

## S3 method for class 'Raster,numeric,missing,ANY,missing': initiateAgents(map, numAgents, probInit, asSpatialPoints = TRUE, indices)

## S3 method for class 'Raster,numeric,Raster,ANY,missing': initiateAgents(map, numAgents, probInit, asSpatialPoints)

## S3 method for class 'Raster,missing,missing,ANY,numeric': 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)
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)
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)

Run the code above in your browser using DataLab