```
nsec(
object,
sig_val = 0.01,
precision = 1000,
posterior = FALSE,
x_range = NA,
hormesis_def = "control",
xform = identity,
prob_vals = c(0.5, 0.025, 0.975)
)
```

## Arguments

- object
An object of class `bayesnecfit`

or
`bayesmanecfit`

returned by `bnec`

.

- sig_val
Probability value to use as the lower quantile to test
significance of the predicted posterior values.
against the lowest observed concentration (assumed to be the control), to
estimate NEC as an interpolated NOEC value from smooth ECx curves.

- precision
The number of unique x values over which to find NSEC -
large values will make the NSEC estimate more precise.

- posterior
A `logical`

value indicating if the full
posterior sample of calculated NSEC values should be returned instead of
just the median and 95 credible intervals.

- x_range
A range of x values over which to consider extracting NSEC.

- hormesis_def
A `character`

vector, taking values
of "max" or "control". See Details.

- xform
A function to apply to the returned estimated concentration
values.

- prob_vals
A vector indicating the probability values over which to
return the estimated NSEC value. Defaults to 0.5 (median) and 0.025 and
0.975 (95 percent credible intervals).

## Value

A vector containing the estimated NSEC value, including upper and
lower 95% credible interval bounds.

## Details

For `hormesis_def`

, if "max", then NSEC values are calculated
as a decline from the maximum estimates (i.e. the peak at NEC);
if "control", then ECx values are calculated relative to the control, which
is assumed to be the lowest observed concentration.

Calls to functions `ecx`

and `nsec`

and
`compare_fitted`

do not require the same level of flexibility
in the context of allowing argument `newdata`

(from a `posterior_predict`

perspective) to
be supplied manually, as this is and should be handled within the function
itself. The argument `precision`

controls how precisely the
`ecx`

or `nsec`

value is estimated, with
argument `x_range`

allowing estimation beyond the existing range of
the observed data (otherwise the default range) which can be useful in a
small number of cases. There is also no reasonable case where estimating
these from the raw data would be of value, because both functions would
simply return one of the treatment concentrations, making NOEC a better
metric in that case.

## Examples

```
# \donttest{
library(bayesnec)
data(manec_example)
nsec(manec_example)
#> Q50 Q2.5 Q97.5
#> 1.4748441 0.2385101 1.5403468
#> attr(,"precision")
#> [1] 1000
#> attr(,"sig_val")
#> [1] 0.01
#> attr(,"toxicity_estimate")
#> [1] "nsec"
# }
```