Skip to contents

Reproducible workflows for monitoring networks

Standardised sampling protocols and interoperable data do not guarantee comparable ecological estimates. Differences in analytical methods, parameter settings, and processing rules can affect results and their interpretation.

Analytical Profiles provide reusable workflows tailored to the objectives and sampling protocols of individual monitoring networks or projects. Each profile specifies a selection and ordering of analytical modules, supporting the consistent application of community-agreed methods and reporting conventions across researchers, sites, and monitoring rounds. Analytical settings and parameters are defined within the modules and report configuration.

Profiles can reuse existing analytical modules or incorporate new ones, with methodological changes explicitly documented.

Available profiles

camtrapReport currently provides two profiles: default, for general ecological reporting, and EOW, for European Observatory of Wildlife–oriented reporting. Additional network-specific profiles based on community-agreed analytical workflows are under development.

Generate a report

First create a camReport object using camData() (see Get Started).

library(camtrapReport)

# General ecological report (default profile)
report(cm, filename = "ecological_default", view = TRUE)

# EOW-oriented ecological report
report(cm, filename = "ecological_EOW", profile = "EOW",
       view = TRUE, format = "PDF")

Explore available modules

# List available profiles
profile_names(cm)

# Inspect the modules used by a profile
section_names(object = cm, profile = "EOW")

Explore the Module Catalog for descriptions of available analytical and reporting modules.

Create and reuse a custom profile

Custom profiles define reusable selections and ordering of report modules. For example, create a brief reporting template:

brief <- reportProfile(
  name = "brief",
  report = c("introduction", "results"),
  status = c("abstract", "availability")
)

# Register and use the profile
add_profile(cm, brief)
report(cm, filename = "ecological_brief", profile = "brief", view = FALSE)

# Save and reuse with another dataset
write_profile(brief, "brief.yml")
add_profile(cm_new, read_profile("brief.yml"))
report(cm_new, profile = "brief", view = FALSE)

Here, cm and cm_new are camReport objects created using camData() for different datasets. The saved YAML file preserves module selections for reuse across projects, enabling monitoring networks to develop and test reproducible workflows based on community-agreed methods and settings. See ?reportProfile for further options.

Contribute an Analytical Profile

Monitoring networks and research projects are welcome to contribute their established analytical workflows, including documented methods, assumptions, and parameter settings. The camtrapReport team can collaborate on testing, refinement, and potential integration as reusable Analytical Profiles.

Propose a profile or discuss a collaboration.