{
  "_id": "6ad13ce30edca5be25021add",
  "Package": "recruitlag",
  "Type": "Package",
  "Title": "Can Episodic Recruitment be a Delayed Consequence of Continuous\nReproduction?",
  "Version": "0.1.0",
  "Authors@R": "person(\"Raymond L.\", \"Tremblay\", email = \"raymond.tremblay@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0002-8588-4372\"))",
  "Description": "Tests whether an episodic recruitment record can be the\ndelayed consequence of a reproductive record, under any\ndistributed lag. A delay is a convolution, and a convolution is\na weighted average, so the concentration in time of expected\nrecruitment can never exceed that of reproduction:\nreproduction's own concentration is a ceiling. The package\ncomputes that ceiling by searching families of lag weights\n(pure delays, windows, geometric decay and Dirichlet draws),\ncalibrates the pooled comparison against negative-binomial\ncounts to show what it can and cannot refute, and runs the\nhost-level (replicate-unit) test in which the null is the lag\nhypothesis exactly as it is asserted: expected recruitment on\neach unit is that unit's own lagged reproduction, scaled to its\nown total. Uncertainty on the exceedance comes by three routes,\na cluster bootstrap over units, a Bayesian bootstrap (Rubin\n1981 <doi:10.1214/aos/1176345338>) and a negative-binomial\nmodel of the counts fitted with 'Stan' through 'cmdstanr';\nrecruit_triage() asks whether a first sighting is a recruit or\na plant returning from dormancy. Plotting functions draw the\nceiling strip, the lag profiles against the observed counts,\nthe calibration and a forest plot of the intervals. The census\ndata on the epiphytic orchid Lepanthes eltoroensis analysed in\nthe companion paper are included.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Language": "en-GB",
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "Additional_repositories": "https://stan-dev.r-universe.dev",
  "Config/testthat/edition": "3",
  "URL": "https://github.com/RaymondLTremblay/recruitlag",
  "BugReports": "https://github.com/RaymondLTremblay/recruitlag/issues",
  "Config/roxygen2/version": "8.1.0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-15 20:48:15 UTC",
    "User": "root"
  },
  "Author": "Raymond L. Tremblay [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-8588-4372>)",
  "Maintainer": "Raymond L. Tremblay <raymond.tremblay@gmail.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-10-15 19:17:47 UTC",
  "RemoteUrl": "https://github.com/cran/recruitlag",
  "RemoteRef": "HEAD",
  "RemoteSha": "f0704386703f9d419e6b009f8afd2be88df5482f",
  "_user": "cran",
  "_type": "src",
  "_file": "recruitlag_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/17c8e10fb6978d61d50ee60e9fa0859cb63a179bdf89be4c026841ecea8ea374",
  "_filesize": 1645691,
  "_sha256": "17c8e10fb6978d61d50ee60e9fa0859cb63a179bdf89be4c026841ecea8ea374",
  "_expires": "2027-01-23T20:51:44.000Z",
  "_created": "2026-10-15T20:48:15.000Z",
  "_published": "2026-10-15T20:51:47.925Z",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/38804250759",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 116663240918,
      "time": 159,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12005168568"
    },
    {
      "job": 116663240683,
      "time": 152,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12006106492"
    },
    {
      "job": 116661077231,
      "time": 282,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12006660513"
    },
    {
      "job": 116663240667,
      "time": 134,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12006286425"
    },
    {
      "job": 116663240847,
      "time": 114,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12006386248"
    },
    {
      "job": 116663240794,
      "time": 130,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12005423367"
    }
  ],
  "_upstream": "https://github.com/cran/recruitlag",
  "_commit": {
    "id": "f0704386703f9d419e6b009f8afd2be88df5482f",
    "author": "Raymond L. Tremblay <raymond.tremblay@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.0\n",
    "time": 1792091867
  },
  "_maintainer": {
    "name": "Raymond L. Tremblay",
    "email": "raymond.tremblay@gmail.com",
    "orcid": "0000-0002-8588-4372"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    },
    {
      "package": "cmdstanr",
      "version": ">= 0.6.0",
      "role": "Suggests"
    },
    {
      "package": "posterior",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-42",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.0",
      "date": "2026-10-15"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 631,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/recruitlag"
  },
  "_devurl": "https://github.com/raymondltremblay/recruitlag",
  "_searchresults": 7,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/recruitlag.html",
    "LICENSE"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-10-15"
    }
  ],
  "_exports": [
    "ceiling_calibration",
    "ceiling_draws_table",
    "concentration",
    "convolve_lag",
    "expected_recruits",
    "flat_kernel",
    "host_lag_test",
    "host_matrices",
    "lag_ceiling",
    "lag_ceiling_bayesboot",
    "lag_ceiling_boot",
    "lag_ceiling_by",
    "lag_ceiling_stan",
    "lag_kernels",
    "phi_moment",
    "rain_cv",
    "rain_expected",
    "rain_forest",
    "rain_gini",
    "rain_indices",
    "rain_intervals",
    "rain_profiles",
    "rain_series",
    "rain_sightings",
    "rain_strip",
    "rain_strips",
    "rain_units",
    "recruit_triage",
    "series_from"
  ],
  "_datasets": [
    {
      "name": "caladenia_dormancy",
      "title": "Published dormancy, survival and detection for nine _Caladenia_ species",
      "object": "caladenia_dormancy",
      "class": [
        "data.frame"
      ],
      "fields": [
        "species",
        "p_resight",
        "p_resight_lo",
        "p_resight_hi",
        "p_survival",
        "p_survival_lo",
        "p_survival_hi",
        "p_dormancy",
        "p_dormancy_lo",
        "p_dormancy_hi",
        "n_plants",
        "years"
      ],
      "rows": 9,
      "table": true,
      "tojson": true
    },
    {
      "name": "lepanthes_census",
      "title": "Census records of the epiphytic orchid _Lepanthes eltoroensis_",
      "object": "lepanthes",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "period",
        "census",
        "years_since_georges",
        "adults",
        "juveniles",
        "seedlings",
        "inflorescences",
        "flowers",
        "fruits",
        "recruits"
      ],
      "rows": 12,
      "table": true,
      "tojson": true
    },
    {
      "name": "lepanthes_hosts",
      "title": "Census records of the epiphytic orchid _Lepanthes eltoroensis_",
      "object": "lepanthes",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "host",
        "period",
        "adults",
        "inflorescences",
        "recruits"
      ],
      "rows": 276,
      "table": true,
      "tojson": true
    },
    {
      "name": "lepanthes_monthly",
      "title": "Census records of the epiphytic orchid _Lepanthes eltoroensis_",
      "object": "lepanthes",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "period",
        "reproductive_adults",
        "recruits"
      ],
      "rows": 23,
      "table": true,
      "tojson": true
    },
    {
      "name": "lepanthes_profile",
      "title": "Census records of the epiphytic orchid _Lepanthes eltoroensis_",
      "object": "lepanthes",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "bin",
        "months",
        "weight"
      ],
      "rows": 5,
      "table": true,
      "tojson": true
    },
    {
      "name": "regimes",
      "title": "Six invented census records spanning the cases the test separates",
      "object": "regimes",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "record",
        "label",
        "seasonality",
        "mechanism",
        "unit",
        "period",
        "reproduction",
        "recruits"
      ],
      "rows": 2880,
      "table": true,
      "tojson": true
    },
    {
      "name": "regimes_truth",
      "title": "Six invented census records spanning the cases the test separates",
      "object": "regimes",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "mechanism",
        "index",
        "what",
        "value"
      ],
      "rows": 29,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "caladenia_dormancy",
      "title": "Published dormancy, survival and detection for nine _Caladenia_ species",
      "topics": [
        "caladenia_dormancy"
      ]
    },
    {
      "page": "ceiling_calibration",
      "title": "Calibrate the pooled ceiling comparison against realised counts",
      "topics": [
        "ceiling_calibration"
      ]
    },
    {
      "page": "ceiling_draws_table",
      "title": "One table for several records and routes",
      "topics": [
        "ceiling_draws_table"
      ]
    },
    {
      "page": "convolve_lag",
      "title": "Apply a lag profile to a reproductive record",
      "topics": [
        "convolve_lag"
      ]
    },
    {
      "page": "expected_recruits",
      "title": "Expected recruitment per replicate unit under a lag profile",
      "topics": [
        "expected_recruits"
      ]
    },
    {
      "page": "flat_kernel",
      "title": "The flat reference: every bin weighted equally",
      "topics": [
        "flat_kernel"
      ]
    },
    {
      "page": "host_lag_test",
      "title": "The host-level test of the lag hypothesis",
      "topics": [
        "host_lag_test"
      ]
    },
    {
      "page": "host_matrices",
      "title": "Build the unit-by-period matrices from a long data frame",
      "topics": [
        "host_matrices"
      ]
    },
    {
      "page": "lag_ceiling",
      "title": "The ceiling that any delay places on the concentration of recruitment",
      "topics": [
        "lag_ceiling"
      ]
    },
    {
      "page": "lag_ceiling_bayesboot",
      "title": "A posterior for the exceedance, by the Bayesian bootstrap over units",
      "topics": [
        "lag_ceiling_bayesboot"
      ]
    },
    {
      "page": "lag_ceiling_boot",
      "title": "A confidence interval for the exceedance, by resampling units",
      "topics": [
        "lag_ceiling_boot"
      ]
    },
    {
      "page": "lag_ceiling_by",
      "title": "The ceiling for every unit in a long data frame",
      "topics": [
        "lag_ceiling_by"
      ]
    },
    {
      "page": "lag_ceiling_stan",
      "title": "A posterior for the exceedance of the expected series, from a model of the counts",
      "topics": [
        "lag_ceiling_stan"
      ]
    },
    {
      "page": "lag_kernels",
      "title": "Families of lag weights",
      "topics": [
        "lag_kernels"
      ]
    },
    {
      "page": "lepanthes",
      "title": "Census records of the epiphytic orchid _Lepanthes eltoroensis_",
      "topics": [
        "lepanthes",
        "lepanthes_census",
        "lepanthes_hosts",
        "lepanthes_monthly",
        "lepanthes_profile"
      ]
    },
    {
      "page": "phi_moment",
      "title": "Moment estimate of negative-binomial clumping under a heterogeneous mean",
      "topics": [
        "phi_moment"
      ]
    },
    {
      "page": "plot.ceiling_calibration",
      "title": "Plot a calibration or a host-level test",
      "topics": [
        "plot.ceiling_calibration",
        "plot.host_lag_test"
      ]
    },
    {
      "page": "rain_forest",
      "title": "The exceedance and its interval, for several records and routes on one axis",
      "topics": [
        "rain_forest"
      ]
    },
    {
      "page": "rain_gini",
      "title": "Concentration of a series in time",
      "topics": [
        "concentration",
        "rain_cv",
        "rain_gini"
      ]
    },
    {
      "page": "rain_indices",
      "title": "Compare the ceiling across candidate reproductive measures",
      "topics": [
        "rain_indices"
      ]
    },
    {
      "page": "rain_intervals",
      "title": "Check that the census intervals are what the analysis assumes",
      "topics": [
        "rain_intervals"
      ]
    },
    {
      "page": "rain_profiles",
      "title": "Lag profiles, and what they predict on the real record",
      "topics": [
        "rain_expected",
        "rain_profiles"
      ]
    },
    {
      "page": "rain_series",
      "title": "Plot the two series on a common time axis",
      "topics": [
        "rain_series"
      ]
    },
    {
      "page": "rain_sightings",
      "title": "First sightings by period, against what dormancy alone would produce",
      "topics": [
        "rain_sightings"
      ]
    },
    {
      "page": "rain_strip",
      "title": "The ceiling strip: observed recruitment against the bound",
      "topics": [
        "rain_strip"
      ]
    },
    {
      "page": "rain_strips",
      "title": "Several strip figures instead of one unreadable one",
      "topics": [
        "rain_strips"
      ]
    },
    {
      "page": "rain_units",
      "title": "Every unit at once: its ceiling against what it recorded",
      "topics": [
        "rain_units"
      ]
    },
    {
      "page": "recruit_triage",
      "title": "Are the first sightings recruits? Dormancy, detection and the discovery series",
      "topics": [
        "recruit_triage"
      ]
    },
    {
      "page": "regimes",
      "title": "Six invented census records spanning the cases the test separates",
      "topics": [
        "regimes",
        "regimes_truth"
      ]
    },
    {
      "page": "series_from",
      "title": "Pull the two system-wide series from a data frame",
      "topics": [
        "series_from"
      ]
    }
  ],
  "_rundeps": [
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "tibble",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "recruitlag.Rmd",
      "filename": "recruitlag.html",
      "title": "Introduction to recruitlag: a worked analysis, step by step",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Step 1. Load the packages",
        "Step 2. Look at a data set",
        "Step 3. Add up over units",
        "Step 4. Measure how \"bursty\" each series is",
        "Step 5. Ask the key question",
        "Step 6. Draw it",
        "Step 7. See what a delay would actually predict",
        "Step 8. The careful version of the test",
        "Step 9. A check with a record where a delay is the truth",
        "Step 10. The other way round: a seasonal plant",
        "Step 11. What the four cases teach",
        "Step 12. Your own data"
      ],
      "created": "2026-10-15 19:17:47",
      "modified": "2026-10-15 19:17:47",
      "commits": 1
    },
    {
      "source": "invented-regimes.Rmd",
      "filename": "invented-regimes.html",
      "title": "Invented records: where the test has power and where it does not",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The six records",
        "The ceiling",
        "Why the pooled comparison has no power",
        "The host-level test",
        "Is the host-level test calibrated?",
        "What to take from the set"
      ],
      "created": "2026-10-15 19:17:47",
      "modified": "2026-10-15 19:17:47",
      "commits": 1
    },
    {
      "source": "intervals.Rmd",
      "filename": "intervals.html",
      "title": "Reading the intervals: confidence, credible, and the four ways to cut one",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The one distinction that matters",
        "The three routes",
        "The cluster bootstrap: a confidence interval",
        "The Bayesian bootstrap: a credible interval, same quantity",
        "The negative-binomial model: a credible interval, different quantity",
        "The four ways to cut an interval from a set of draws",
        "The two probability statements, side by side",
        "Choosing, and reporting",
        "References"
      ],
      "created": "2026-10-15 19:17:47",
      "modified": "2026-10-15 19:17:47",
      "commits": 1
    },
    {
      "source": "lepanthes.Rmd",
      "filename": "lepanthes.html",
      "title": "The Lepanthes eltoroensis analysis",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The two records",
        "Concentration and the ceiling",
        "What any lag profile predicts",
        "How firm the exceedance is",
        "Why the pooled comparison cannot decide",
        "The host-level test",
        "The verdict, keyed on labels"
      ],
      "created": "2026-10-15 19:17:47",
      "modified": "2026-10-15 19:17:47",
      "commits": 1
    },
    {
      "source": "mathematics.Rmd",
      "filename": "mathematics.html",
      "title": "The mathematics behind the test, and the functions that implement it",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. The hypothesis as a convolution",
        "2. The ceiling: averaging cannot concentrate",
        "3. The second diagnosis: the lag is unidentifiable",
        "4. Calibrating the pooled comparison",
        "5. The host-level null, stated as the hypothesis is asserted",
        "6. What the test does and does not say",
        "Function map",
        "References"
      ],
      "created": "2026-10-15 19:17:47",
      "modified": "2026-10-15 19:17:47",
      "commits": 1
    }
  ],
  "_score": 2.6989700043360187,
  "_indexed": true,
  "_nocasepkg": "recruitlag",
  "_universes": [
    "cran",
    "raymondltremblay"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-15T20:50:41.000Z",
      "distro": "resolute",
      "commit": "f0704386703f9d419e6b009f8afd2be88df5482f",
      "fileid": "https://r2.ropensci.org/413550e330fafab3488dab43cc706e596b0906969c1cdad964df8446a8248713",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38804250759"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-10-15T20:50:38.000Z",
      "distro": "resolute",
      "commit": "f0704386703f9d419e6b009f8afd2be88df5482f",
      "fileid": "https://r2.ropensci.org/cf2c96c9da116a939ad0b818133e97f09a2ea79b610f8656a65a0d260afd77b7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38804250759"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-10-15T20:50:51.000Z",
      "commit": "f0704386703f9d419e6b009f8afd2be88df5482f",
      "fileid": "https://r2.ropensci.org/3e24b5e921817f55681e56fe00a34a3cb3513f3d962b16b0f949639069b3943b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38804250759"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-15T20:49:47.000Z",
      "commit": "f0704386703f9d419e6b009f8afd2be88df5482f",
      "fileid": "https://r2.ropensci.org/7c14dbc514bbdb6c91201ef2f0f867c24f402692e81720d031ff8c08c863a04d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38804250759"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-10-15T20:50:00.000Z",
      "commit": "f0704386703f9d419e6b009f8afd2be88df5482f",
      "fileid": "https://r2.ropensci.org/18ad6152f0323189d23600dfe6ffa000d0e4993bae3dde608141b1d31e45bae8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/38804250759"
    }
  ]
}