Returns the cut-off itself, rather than applying it. Useful for reporting which number a respondent was compared against, and for checking the package against the printed tables.
Arguments
- indicator
One of the seven indicator names.
- group
Demographic group 1-8, or `NULL` for all eight.
- metric
`"abs"` for the Table 3 absolute threshold, or `"rel"` for a Table 4 relative benchmark cut-point.
- percentile
Required when `metric = "rel"`: a multiple of 10 from 10 to 90.
- published
**No longer has any effect**, and retained only so existing scripts keep working. Until October 2026 the package stored 80 relative eutrophication rows pre-rescaled, and this argument switched between the stored and the published figure. Nothing is rescaled any more - `value` is the published figure for all 616 rows - so both settings return the same thing. See `vignette("eutrophication")`.
- x
An `eiod_cutoff` object.
- digits
Significant digits to display. The default of 15 shows every published digit; the widest cut-off in the tables needs 14.
- ...
Ignored.
- e1, e2
Operands.
Value
A named numeric vector of class `eiod_cutoff`, named by demographic group label. Use `print(x, digits = )` to change the displayed precision, or `as.numeric(x)` to drop the class.
Printing, and why it has its own method
The published cut-offs need up to **14 significant digits** - `water` for Female 10+ is `1726.3821057877`, and 15 of the 616 values need all 14. R's default `options(digits = 7)` would print that as `1726.382`, which looks as though the package had rounded the guideline.
Storage was never the problem; the default *display* was. The returned object therefore carries a class and a print method that uses 15 significant digits and shows, alongside each value, the literal text transcribed from the paper:
“` Male 10+ yr 14.2377570161 as published 14.2377570161 “`
The `as printed` column is `value_published_str` from [eiod_cutoffs] - a character string that has never been through a numeric type. If you need an exact decimal comparison against the PDF, compare against that, not against a rendering of a double. (The identical complaint, and the identical fix, arose in the companion Stata package in October 2026.)
Nothing here is rescaled
**Every value this function returns is exactly what the methods paper prints**, for all 616 cut-offs. The package does not adjust a published number anywhere, so you can check any row of [eiod_cutoffs] against the PDF and expect a character-for-character match.
Where the paper's own units need reconciling - which happens for eutrophication, and only for eutrophication - the adjustment is applied to **your data** at the moment of comparison, is announced in a message, and is described in `vignette("eutrophication")`.
The object is an ordinary named numeric underneath: `[`, `c()` and arithmetic all return plain numbers, so nothing downstream needs to know about the class.
Examples
# the HESD biodiversity criterion, all groups
eiod_lookup_cutoff("biodiv", metric = "abs")
#> Table 3 absolute threshold - Biodiversity loss
#> unit: PDF*year per capita per day
#>
#> group value as printed
#> Male 0-1.9 yr 3.6896027444e-13 3.6896027444E-13
#> Male 2-4.9 yr 5.7244838747e-13 5.7244838747E-13
#> Male 5-9.9 yr 7.8836516181e-13 7.8836516181E-13
#> Male 10+ yr 1.2844358718e-12 1.2844358718E-12
#> Female 0-1.9 yr 3.5749209701e-13 3.5749209701E-13
#> Female 2-4.9 yr 5.3018709712e-13 5.3018709712E-13
#> Female 5-9.9 yr 7.2382064564e-13 7.2382064564E-13
#> Female 10+ yr 1.033173291e-12 1.0331732910E-12
#>
#> printed at 15 significant digits.
#> `as printed` is the literal text this package ships, which has
#> never been through a numeric type. Nothing is rescaled here.
# the HDLEI biodiversity criterion
eiod_lookup_cutoff("biodiv", metric = "rel", percentile = 30)
#> Tables 4a-4g relative benchmark, P30 - Biodiversity loss
#> unit: PDF*year per capita per day
#>
#> group value as printed
#> Male 0-1.9 yr 2.423427197e-13 2.4234271970E-13
#> Male 2-4.9 yr 3.7599901323e-13 3.7599901323E-13
#> Male 5-9.9 yr 5.1781877527e-13 5.1781877527E-13
#> Male 10+ yr 8.436509403e-13 8.4365094030E-13
#> Female 0-1.9 yr 2.3481012202e-13 2.3481012202E-13
#> Female 2-4.9 yr 3.4824069682e-13 3.4824069682E-13
#> Female 5-9.9 yr 4.7542425566e-13 4.7542425566E-13
#> Female 10+ yr 6.786151318e-13 6.7861513180E-13
#>
#> printed at 15 significant digits.
#> `as printed` is the literal text this package ships, which has
#> never been through a numeric type. Nothing is rescaled here.
# one group, printed to every published digit
eiod_lookup_cutoff("water", group = 8, metric = "abs")
#> Table 3 absolute threshold - Water use
#> unit: litres per capita per day
#>
#> group value as printed
#> Female 10+ yr 1726.3821057877 1726.3821057877
#>
#> printed at 15 significant digits.
#> `as printed` is the literal text this package ships, which has
#> never been through a numeric type. Nothing is rescaled here.
# what R's default options(digits = 7) would have shown instead
print(c(eiod_lookup_cutoff("water", group = 8, metric = "abs")))
#> Female 10+ yr
#> 1726.382