Level 2 function that removes a proportion of virgin queens of a Colony or MultiColony object

removeCastePop(
  x,
  caste = NULL,
  p = 1,
  use = "rand",
  addVirginQueens = FALSE,
  nVirginQueens = NULL,
  year = NULL,
  simParamBee = NULL
)

removeQueen(
  x,
  addVirginQueens = FALSE,
  nVirginQueens = NULL,
  year = NULL,
  simParamBee = NULL
)

removeWorkers(x, p = 1, use = "rand")

removeDrones(x, p = 1, use = "rand")

removeVirginQueens(x, p = 1, use = "rand")

Arguments

x

Colony-class or MultiColony-class

caste

character, "queen", "workers", "drones", or "virginQueens"

p

numeric, proportion to be removed; if input is MultiColony-class, the input could also be a vector of the same length as the number of colonies. If a single value is provided, the same value will be applied to all the colonies

use

character, all the options provided by selectInd - guides selection of virgins queens that will stay when p < 1

addVirginQueens

logical, whether virgin queens should be added; only used when removing the queen from the colony

nVirginQueens

integer, the number of virgin queens to be created in the colony; only used when removing the queen from the colony. If 0, no virgin queens are added; If NULL, the value from simParamBee$nVirginQueens is used

year

numeric, only relevant when adding virgin queens - year of birth for virgin queens

simParamBee

SimParamBee, global simulation parameters

Value

Colony-class or MultiColony-class without virgin queens

Functions

  • removeQueen(): Remove queen from a colony

  • removeWorkers(): Remove workers from a colony

  • removeDrones(): Remove workers from a colony

  • removeVirginQueens(): Remove virgin queens from a colony

Examples

founderGenomes <- quickHaplo(nInd = 5, nChr = 1, segSites = 50)
SP <- SimParamBee$new(founderGenomes)
basePop <- createVirginQueens(founderGenomes)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found

drones <- createDrones(x = basePop[1], nInd = 100)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
droneGroups <- pullDroneGroupsFromDCA(drones, n = 5, nDrones = nFathersPoisson)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found

# Create and cross Colony and MultiColony class
colony <- createColony(x = basePop[2])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
colony <- cross(colony, drones = droneGroups[[1]])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
colony <- buildUp(colony)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary <- createMultiColony(basePop[4:5], n = 2)
#> Error in createMultiColony(basePop[4:5], n = 2): object 'basePop' not found
apiary <- cross(apiary, drones = droneGroups[3:4])
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
apiary <- buildUp(apiary)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found

# Remove workers
nWorkers(colony)
#> Error in is(x, class2 = "Colony"): object 'colony' not found
colony <- removeCastePop(colony, caste = "workers", p = 0.3)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
# or alias:
colony <- removeWorkers(colony, p = 0.3)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
# Same aliases exist for all the castes!!

nWorkers(apiary)
#> Error in is(x, class2 = "Colony"): object 'apiary' not found
apiary <- removeCastePop(apiary, caste = "workers", p = 0.3)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
nWorkers(apiary)
#> Error in is(x, class2 = "Colony"): object 'apiary' not found

# Remove different proportions
apiary <- buildUp(apiary)
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found
nWorkers(apiary)
#> Error in is(x, class2 = "Colony"): object 'apiary' not found
nWorkers(removeWorkers(apiary, p = c(0.1, 0.5)))
#> Error in get(x = "SP", envir = .GlobalEnv): object 'SP' not found