USgas

CRAN_Status_Badge lifecycle License: MIT GitHub commit

The USgas package provides an overview of demand for natural gas in the US in a time-series format. That includes the following dataset:

The package also includes the following datasets, from previous release:

The us_total, us_monthly, and us_residential can be derived out of the usgas dataset. Therefore, those datasets in the process of deprication and will be removed in the next release to CRAN.

Data source: The US Energy Information Administration API

More information about the package datasets available on this vignette.

Installation

You can install the released version of USgas from CRAN with:

install.packages("USgas")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("RamiKrispin/USgas")

Example

Let’s load the data:

data("usgas")

head(usgas)
#>         date                 process state state_abb      y
#> 1 1973-01-01  Commercial Consumption  U.S.      U.S. 392315
#> 2 1973-01-01 Residential Consumption  U.S.      U.S. 843900
#> 3 1973-02-01  Commercial Consumption  U.S.      U.S. 394281
#> 4 1973-02-01 Residential Consumption  U.S.      U.S. 747331
#> 5 1973-03-01  Commercial Consumption  U.S.      U.S. 310799
#> 6 1973-03-01 Residential Consumption  U.S.      U.S. 648504

str(usgas)
#> 'data.frame':    92783 obs. of  5 variables:
#>  $ date     : Date, format: "1973-01-01" "1973-01-01" ...
#>  $ process  : chr  "Commercial Consumption" "Residential Consumption" "Commercial Consumption" "Residential Consumption" ...
#>  $ state    : chr  "U.S." "U.S." "U.S." "U.S." ...
#>  $ state_abb: chr  "U.S." "U.S." "U.S." "U.S." ...
#>  $ y        : int  392315 843900 394281 747331 310799 648504 231943 465867 174258 326313 ...
#>  - attr(*, "units")= chr "MMCF"
#>  - attr(*, "product_name")= chr "Natural Gas"
#>  - attr(*, "source")= chr "EIA API: https://www.eia.gov/opendata/browser/natural-gas"

Plotting the residential consumption of natural gas in the US:

library(plotly)

us_res <- usgas[which(usgas$state == "U.S." & usgas$process == "Residential Consumption"), ]

plot_ly(data = us_res,
        x = ~ date,
        y = ~ y,
        type = "scatter",
        mode = "line") |>
  layout(title = "US Monthly Residential Consumption",
         yaxis = list(title = "MMCF"),
         xaxis = list(title = "Source: EIA API"))

Plotting the total monthly natural gas delivered in the New England states:

ne <- c("Connecticut", "Maine", "Massachusetts",
        "New Hampshire", "Rhode Island", "Vermont")
ne_gas <-  usgas[which(usgas$state %in% ne & usgas$process == "Delivered to Consumers"),]

plot_ly(data = ne_gas,
        x = ~ date,
        y = ~ y,
        color = ~ state,
        type = "scatter",
        mode = "line") |>
  layout(title = "Total Natrual Gas Delivered to Consumers in New England States",
         yaxis = list(title = "MMCF"),
         xaxis = list(title = "Source: EIA API"))