R/migrate.r

Defines functions migrate

migrate <- function(num, night_prob, rmort, num_guards, guard_limit){   #,fec, bmort){
#   input: number of crossing adults susceptible to road mortality, proportion of adults migrating each night, fecunedity, road mortality, number xing guards each night,
#       maximum number of animals saved per guard per night # drop breeding mortality
#   processing:
#       mortality of adults crossing road per night
#       #drop: fecundity of surviving adults
#       # drop: mortality of adults that survive inbound migration
#   output:
#       adults that make it into the pond to breed on each night
#       # drop: number of adults that will make outbound migration
  #print(flag) debugging parameter, set unique integer to flag different function calls
  if(length(num)>1) print("Check input - pop vector rather than pop total")

  # create object to store migrants each night, should fix to get whole numbers
  num * night_prob -> nxing
  round(nxing) -> nxing

  # calculate potential mortality
  pmort <- rep(NA, length(nxing))
  for(i in 1:length(nxing)){
     pmort[i] <- sum(rbinom(nxing[i], 1, rmort))
  }
  # number of salamanders saved from cars
  num_guards*guard_limit -> numsave
  # 'save' salamanders
  pmort - numsave -> mort
  # set mortality to zero if guards can save more salamanders than those that could be killed
  mort[mort<0] <- 0
  # subtract killed individuals from individuals that crossed road
  nxing - mort -> numcrossed
  return(numcrossed)

}
openfields/Ambcitsci documentation built on May 24, 2019, 2:32 p.m.