# assert_rows

##### Raises error if predicate is FALSE for any row after applying row reduction function

Meant for use in a data analysis pipeline, this function applies a function to a data frame that reduces each row to a single value. Then, a predicate function is applied to each of the row reduction values. If any of these predicate applications yield FALSE, this function will raise an error, effectively terminating the pipeline early. If there are no FALSEs, this function will just return the data that it was supplied for further use in later parts of the pipeline.

##### Usage

```
assert_rows(
data,
row_reduction_fn,
predicate,
...,
success_fun = success_continue,
error_fun = error_stop
)
```assert_rows_(
data,
row_reduction_fn,
predicate,
...,
.dots,
success_fun = success_continue,
error_fun = error_stop
)

##### Arguments

- data
A data frame

- row_reduction_fn
A function that returns a value for each row of the provided data frame

- predicate
A function that returns FALSE when violated

- ...
Comma separated list of unquoted expressions. Uses dplyr's

`select`

to select columns from data.- success_fun
Function to call if assertion passes. Defaults to returning

`data`

.- error_fun
Function to call if assertion fails. Defaults to printing a summary of all errors.

- .dots
Use assert_rows_() to select columns using standard evaluation.

##### Details

For examples of possible choices for the `success_fun`

and
`error_fun`

parameters, run `help("success_and_error_functions")`

##### Value

By default, the `data`

is returned if predicate assertion
is TRUE and and error is thrown if not. If a non-default
`success_fun`

or `error_fun`

is used, the return
values of these function will be returned.

##### Note

See `vignette("assertr")`

for how to use this in context

##### See Also

##### Examples

```
# NOT RUN {
# returns mtcars
assert_rows(mtcars, num_row_NAs, within_bounds(0,2), mpg:carb)
library(magrittr) # for piping operator
mtcars %>%
assert_rows(rowSums, within_bounds(0,2), vs:am)
# anything here will run
# }
# NOT RUN {
mtcars %>%
assert_rows(rowSums, within_bounds(0,1), vs:am)
# the assertion is untrue so
# nothing here will run
# }
# NOT RUN {
# }
```

*Documentation reproduced from package assertr, version 2.7, License: MIT + file LICENSE*