clone: Replicate Rows

cloneR Documentation

Replicate Rows


Clone rows of an object a constant or random number of times


  ## Default S3 method:
clone(object, type, ...)
  ## S3 method for class 'popn'
clone(object, type, ...)
  ## S3 method for class 'capthist'
clone(object, type, ...)



any object


character ‘constant’, ‘poisson’, ‘truncatedpoisson’ or ‘nbinom’


other arguments for distribution function


The ... argument specifies the number of times each row should be repeated. For random distributions (Poisson or negative binomial) ... provides the required parameter values: lambda for Poisson, size, prob or size, mu for negative binomial.

One application is to derive a population of cues from a popn object, where each animal in the original popn generates a number of cues from the same point.

Cloning a capthist object replicates whole detection histories. Individual covariates and detection-specific attributes (e.g., signal strength or xy location in polygon) are also replicated. Cloned data from single-catch traps will cause verify() to fail, but a model may still be fitted in by overriding the check with verify = FALSE.


Object of same class as object but with varying number of rows. For clone.popn and capthist an attribute ‘freq’ is set, a vector of length equal to the original number of rows giving the number of repeats (including zeros).

If popn or capthist is a multi-session object the returned value will be a multi-session object of the same length.

See Also



## population of animals at 1 / hectare generates random
## Poisson number of cues, lambda = 5
mics4 <- make.grid( nx = 2, ny = 2, spacing = 44, detector = "signal")
pop <- sim.popn (D = 1, core = mics4, buffer = 300, nsessions = 6)
pop <- clone (pop, "poisson", 5)

clone(captdata, "poisson", 3)

# To avoid losing any individuals use zero-truncated Poisson
# First find lambda of truncated Poisson with given mean
getlambda <- function (target) {
    fn <- function(x) x / (1-exp(-x)) - target
    uniroot(interval = c(1e-8, target), f = fn)$root
clone(captdata, "truncatedpoisson", getlambda(3))

secr documentation built on Oct. 18, 2023, 1:07 a.m.