The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Juvenile Fish Analysis with Tivy

library(Tivy)

Juvenile Fish Analysis

Analyze juvenile fish proportions in catches using length-weight relationships and catch data.

Basic Juvenile Analysis

Calculate juvenile percentages from length frequency data:

# Calculate juvenile percentages
juvenile_results <- summarize_juveniles_by_group(
  data = your_length_data,
  group_cols = c("date", "fishing_zone"),
  length_cols = c("8", "9", "10", "11", "12", "13"),
  juvenile_limit = 12,  # Size threshold in cm
  a = 0.0012,          # Length-weight coefficient
  b = 3.1242           # Length-weight exponent
)

Length-Weight Relationships

Use species-specific parameters for weight calculations:

# Calculate fish weights from lengths
weights <- calculate_fish_weight(
  length = c(8, 10, 12, 14),
  a = 0.0048,  # Coefficient for anchoveta
  b = 3.067    # Exponent for anchoveta
)

# Apply catch weighting to length frequencies
weighted_data <- apply_catch_weighting(
  data = your_data,
  length_cols = c("8", "9", "10", "11", "12"),
  catch_col = "total_catch",
  a = 0.0048,
  b = 3.067
)

Juvenile Percentage Calculation

Calculate juvenile proportions:

# Single sample calculation
juv_percent <- calculate_juvenile_percentage(
  frequency = c(10, 25, 40, 30, 15),  # Frequencies by length
  length = c(8, 9, 10, 11, 12),       # Length classes
  juvenile_limit = 10                  # Juvenile threshold
)

# Get length ranges from frequency data
min_length <- get_length_range(
  frequency = c(0, 5, 10, 20, 15, 0),
  length = c(8, 9, 10, 11, 12, 13),
  type = "min"
)

Convert Numbers to Weight

Convert length frequencies to weight estimates:

# Convert frequency data to weight
weight_data <- convert_numbers_to_weight(
  data = your_frequency_data,
  length_cols = c("8", "9", "10", "11", "12"),
  a = 0.0012,
  b = 3.1242
)

Visualization

Create juvenile analysis plots:

# Plot juvenile analysis
juvenile_plot <- plot_juvenile_analysis(
  data = your_data,
  x_var = "date",
  length_cols = c("8", "9", "10", "11", "12"),
  plot_type = "bars",
  title = "Juvenile Analysis Over Time"
)

# Create comprehensive dashboard
dashboard <- create_fishery_dashboard(
  data = complete_data,
  date_col = "date",
  length_cols = find_columns_by_pattern(complete_data, "^[0-9]")
)

Length-Weight Parameters

Common parameters for Peruvian species:

Species a b Juvenile Limit (cm)
Anchoveta 0.0048 3.067 12
Sardina 0.0091 3.152 15
Jurel 0.0079 3.089 20

Parallel Processing

For large datasets:

# Use parallel processing for catch weighting
weighted_data <- apply_catch_weighting(
  data = large_dataset,
  length_cols = length_columns,
  catch_col = "catch",
  a = 0.0048,
  b = 3.067,
  parallel = TRUE,
  num_cores = 4
)

Analysis Tips

  1. Juvenile thresholds: Base on biological criteria (size at maturity)
  2. Species parameters: Use species-specific length-weight coefficients
  3. Data quality: Validate length frequency data before analysis
  4. Both metrics: Consider both number and weight-based percentages

For parameter recommendations and detailed examples, see the function documentation.

References

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.