filter_pollutants(), filter_categories(), and filter_facilities() should probably issue a warning if the result they return is empty. This will help prevent, or at least diagnose, crashes when evaluating expressions like:
some_data_with_no_PM2.5 %>%
filter_pollutants(
"PM2.5") %>%
chart_annual_emissions()
rlang::is_empty(x) seems like a suitable test to use within the body of filter_*(), just before the result is returned. It returns TRUE if x is NULL, and it also returns TRUE if nrow(x) is a zero-length data frame.
One question is whether the warning should be issued when:
verbose is FALSE; or
verbose is not explicitly supplied
... to filter_*().
filter_pollutants(),filter_categories(), andfilter_facilities()should probably issue a warning if the result they return is empty. This will help prevent, or at least diagnose, crashes when evaluating expressions like:rlang::is_empty(x)seems like a suitable test to use within the body offilter_*(), just before the result is returned. It returnsTRUEifxisNULL, and it also returnsTRUEifnrow(x)is a zero-length data frame.One question is whether the warning should be issued when:
verboseisFALSE; orverboseis not explicitly supplied... to
filter_*().