Obtain data from the EIA.
Usage
eia_data(
dir,
data = NULL,
facets = NULL,
freq = NULL,
start = NULL,
end = NULL,
sort = NULL,
length = NULL,
offset = NULL,
tidy = TRUE,
check_metadata = FALSE,
cache = TRUE,
key = eia_get_key()
)Arguments
- dir
character, directory path.
- data
character or
NULL,note: if
NULL,eia_data()will only return column headings; must input a character value as provided byeia_metadata()for data to be returned.see details.
- facets
character list or
NULL, see details.- freq
character or
NULL, see details.- start, end
character or
NULL, see details.- sort
named list of two.
cols: list column names on which to sort.order:"asc"or"desc"for ascending or descending, respectively.
- length
numeric or
NULL, number of rows to return.- offset
numeric or
NULL, number of rows to skip before return.- tidy
logical or
NULL, return a tidier result. See details.- check_metadata
logical, if
TRUEchecks input values against metadata endpoint.- cache
logical, cache result for duration of R session using memoization. See details.
- key
API key: character if set explicitly; not needed if key is set globally. See
eia_set_key().
Details
By default, data, facets, and freq are set to NULL. To obtain valid
input values for each of these arguments, use the specific ID labels
as provided by eia_metadata().
The use of start and end require some input to freq.
By default (check_metadata = FALSE), the resulting data will match the
temporal resolution provided to freq, however, check_metadata = TRUE applies
further restrictions such that the format of values provided to start/end must match
that of freq. Furthermore, regardless of the input format provided to start/end,
the resulting data will always match the specification of freq. And lastly,
regardless of chosen format, end must be strictly greater than start to return data.
By default, additional processing is done to return a list containing tibble data frames.
Set tidy = FALSE to return only the initial list result of jsonlite::fromJSON.
Set tidy = NA to return the original JSON as a character string.
Set to cache = FALSE to force a new API call for updated data.
Using FALSE always makes a new API call and returns the result from the server.
TRUE uses memoization on a per R session basis, caching the result of the
function call in memory for the duration of the R session.
You can reset the entire cache by calling eia_clear_cache().
