Each break row covers [length_min_mm, length_max_mm) for one species group,
so a fish exactly on a break takes the upper class. The breaks must tile every
group that has a measured fish: a fish with a positive length that falls in no
class, or in more than one, is an error rather than an NA, because a gap or
an overlap in the table would otherwise read as "unmeasured".
Arguments
- species_group
characterspecies group per fish, matched againstbreaks$species_group.- length_mm
numericlength per fish, same length asspecies_group.NA, zero and negative lengths are unmeasured and returnNA.- breaks
data.framewith columnsspecies_group,size_class,length_min_mmandlength_max_mm(useInffor an open top class).
