
Tidy Interface for Creel Survey Design, Estimation, and Reporting
tidycreel provides a pipe-friendly interface for creel survey design, data management, estimation, visualisation, and reporting. Built on the survey package for design-based inference, it lets fisheries biologists work in creel vocabulary — dates, strata, counts, effort, catch, lengths, schedules — without managing survey-package internals directly.
Installation
Install the development version from GitHub:
# install.packages("pak")
pak::pak("chrischizinski/tidycreel")
# or with devtools
devtools::install_github("chrischizinski/tidycreel")Survey Types
Bus-Route
PPS site selection with Horvitz-Thompson estimators and enumeration expansion.
Camera-Monitored
Counter and ingress-egress preprocessing plus camera effort indexing.
Aerial Survey
Single-overflight effort estimation with calibrated open-hours scaling.
Key Capabilities
-
Design-based inference — wraps the
surveypackage; biologists write creel vocabulary, not survey-package internals. -
Single design entry point —
creel_design()dispatches to the correct workflow for each survey type. - Core estimation surface — effort, catch rate, harvest rate, release rate, and total-catch estimators share a common API.
- Extended estimation methods — includes camera effort indexing, weighted length distributions, and variance comparison helpers.
- Validation and cleaning — field-level validation, species standardisation, data-validation summaries, and toy datasets for examples.
- Planning and QA — schedule generation, count-window planning, completeness checks, sample-size tools, and power calculators.
-
Visualisation and reporting —
autoplot()methods,theme_creel(),creel_palette(), and a flexdashboard report template scaffold. - Documentation and onboarding — glossary, workflow vignettes, statistical-method articles, and a pkgdown site.
Quick Start
Instantaneous Count Survey
library(tidycreel)
# 1. Define survey structure with tidy selectors
design <- creel_design(example_calendar, date = date, strata = day_type)
# 2. Attach count observations
design <- add_counts(design, example_counts)
# 3. Estimate effort with design-based variance
estimate_effort(design)Bus-Route Survey
# Probability-proportional-to-size site selection
design <- creel_design(
example_calendar,
date = date,
strata = day_type,
survey_type = "bus_route",
sampling_frame = my_site_frame,
site = site_id
)
design <- add_interviews(design, interview_data,
catch = catch_total,
effort = hours_fished,
harvest = catch_kept
)
estimate_catch_rate(design)Where to Start
| If you want to… | Start here |
|---|---|
| Learn the package vocabulary | Glossary |
| See the main end-to-end workflow | Getting Started |
| Plan a season before sampling starts | Survey Design Toolbox |
| Understand plotting and output styling |
Visualisation and theme_creel()
|
| Build a report/dashboard | Install the package, then open R Markdown > From Template > Creel Dashboard in RStudio |
Functions at a Glance
Survey Design
-
creel_design()— single entry point; dispatches onsurvey_type. -
add_counts(),add_interviews(),add_catch(),add_lengths(),add_sections()— attach observation data.
Estimation
-
estimate_effort()— total effort with Taylor linearization, bootstrap, or jackknife variance. -
estimate_catch_rate(),estimate_harvest_rate(),estimate_release_rate()— ratio-based interview estimators. -
estimate_total_catch(),estimate_total_harvest(),estimate_total_release()— totals via delta-method propagation. -
est_effort_camera(),est_length_distribution()— camera effort indexing and weighted size-structure estimation.
Validation and Diagnostics
-
validate_creel_data(),validation_report(),standardize_species()— clean and validate real-world creel inputs. -
validate_incomplete_trips(),validate_design(),check_completeness(),compare_variance(),adjust_nonresponse()— QA and estimator diagnostics.
Planning and Reporting
-
generate_schedule(),generate_bus_schedule(),generate_count_times(),attach_count_times()— planning/scheduling helpers. -
creel_n_effort(),creel_n_cpue(),creel_power(),cv_from_n()— sample-size and power tools. -
season_summary(),summary.creel_estimates(),write_estimates()— report-ready summary/export helpers. -
autoplot.creel_estimates(),autoplot.creel_schedule(),autoplot.creel_length_distribution(),theme_creel(),creel_palette()— visualisation helpers.
Vignettes
Get Started
| Vignette | Description |
|---|---|
| Getting Started | Core workflow: design → counts → effort estimation |
| Glossary | Plain-language guide to tidycreel terms and concepts |
Survey Types
| Vignette | Description |
|---|---|
| Bus-Route Surveys | PPS site selection with Horvitz-Thompson estimators |
| Ice Fishing | Certainty-site (degenerate bus-route) design |
| Camera Surveys | Counter and ingress-egress preprocessing, camera effort |
| Aerial Surveys | Single-overflight effort with calibrated open-hours scaling |
| Aerial GLMM | Negative-binomial GLMM aerial effort (Askey 2018) |
Reporting & Planning
| Vignette | Description |
|---|---|
| Survey Design Toolbox | Sample-size, power, scheduling, and pre-season planning tools |
| Survey Scheduling | Count windows, schedules, validation, and completeness checks |
| Visualisation | Plotting patterns and output styling with theme_creel()
|
| Interview Estimation | CPUE, catch, and harvest from interview data |
| Incomplete Trips | When and how to use mean-of-ratios and TOST validation |
| Replicate Designs | Variance workflows and replicate-design reasoning |
License
MIT License — see LICENSE.md for details.
