Obtain data from the EIA.
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()
)data frame
character, directory path.
character or NULL,
note: if NULL, eia_data() will only return column headings; must input a character value
as provided by eia_metadata() for data to be returned.
see details.
character list or NULL, see details.
character or NULL, see details.
character or NULL, see details.
named list of two.
cols: list column names on which to sort.
order: "asc" or "desc" for ascending or descending, respectively.
numeric or NULL, number of rows to return.
numeric or NULL, number of rows to skip before return.
logical or NULL, return a tidier result. See details.
logical, if TRUE checks input values against metadata endpoint.
logical, cache result for duration of R session using memoization. See details.
API key: character if set explicitly; not needed if key is set
globally. See eia_set_key().
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().
if (FALSE) {
eia_data(
dir = "electricity/retail-sales",
data = "price",
facets = list(sectorid = c("COM", "RES"), stateid = "OH")
)
}
Run the code above in your browser using DataLab