This vignette is intended to introduce the user to fredr functions for the Categories endpoint of the FRED API.
FRED series are assigned categories. Each FRED category is assigned an integer identifier. For example:
category_id = 10
)category_id = 32992
)category_id = 1
)category_id = 97
)Categories are organized in a hierarchical structure where parent categories contain children categories. All categories are children of the root category (category_id = 0
). The following examples illustrate usage of the Categories endpoint functions in fredr.
fredr_category()
returns minimal information for a single category specified by category_id
. The data returned is a tibble
in which each row represents a category.
fredr_category(category_id = 0L)
#> # A tibble: 1 × 3
#> id name parent_id
#> <int> <chr> <int>
#> 1 0 Categories 0
fredr_category(category_id = 97L)
#> # A tibble: 1 × 3
#> id name parent_id
#> <int> <chr> <int>
#> 1 97 Housing 1
fredr_category_children()
returns minimal information (child ID, name, and parent ID) for all child categories of the parent category specified by category_id
. The data returned is a tibble in which each row represents child category of the parent specified.
fredr_category_children(category_id = 0L)
#> # A tibble: 8 × 3
#> id name parent_id
#> <int> <chr> <int>
#> 1 32991 Money, Banking, & Finance 0
#> 2 10 Population, Employment, & Labor Markets 0
#> 3 32992 National Accounts 0
#> 4 1 Production & Business Activity 0
#> 5 32455 Prices 0
#> 6 32263 International Data 0
#> 7 3008 U.S. Regional Data 0
#> 8 33060 Academic Data 0
fredr_category_children(category_id = 1L)
#> # A tibble: 16 × 3
#> id name parent_id
#> <int> <chr> <int>
#> 1 32262 Business Cycle Expansions & Contractions 1
#> 2 33936 Business Surveys 1
#> 3 32436 Construction 1
#> 4 33940 Emissions 1
#> 5 33955 Expenditures 1
#> 6 33490 Finance Companies 1
#> 7 32216 Health Insurance 1
#> 8 97 Housing 1
#> 9 3 Industrial Production & Capacity Utilization 1
#> 10 32429 Manufacturing 1
#> 11 33959 Patents 1
#> 12 6 Retail Trade 1
#> 13 33441 Services 1
#> 14 33492 Technology 1
#> 15 33202 Transportation 1
#> 16 33203 Wholesale Trade 1
fredr_category_related()
returns minimal information (ID, name, and parent ID) for all related categories to the category specified by category_id
. The data returned is a tibble in which each row represents category related to the one specified. Note that not all categories have related categories.
# Nothing related to the root
fredr_category_related(category_id = 0L)
#> # A tibble: 0 × 0
# What is related to the Employment Cost Index category?
fredr_category_related(category_id = 4L)
#> # A tibble: 1 × 3
#> id name parent_id
#> <int> <chr> <int>
#> 1 10 Population, Employment, & Labor Markets 0
fredr_category_series()
returns detailed information for the FRED series belonging to the category specified by category_id
. The data returned is a tibble in which each row represents a series belonging to the category specified. For example, to get the top 100 quarterly series in the “Housing” category, ordering the results so that the most recently updated series appear first:
fredr_category_series(
category_id = 97L, # Housing
limit = 100L,
order_by = "last_updated",
filter_variable = "frequency",
filter_value = "Quarterly"
)
#> # A tibble: 30 × 16
#> id realtime_start realtime_end title observation_start observation_end
#> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 ANHPIHOR… 2023-04-17 2023-04-17 Home… 2016-01-01 2022-10-01
#> 2 AORHORUS… 2023-04-17 2023-04-17 Home… 1994-01-01 2022-10-01
#> 3 BOAAAHOR… 2023-04-17 2023-04-17 Home… 1994-01-01 2022-10-01
#> 4 HOLHORUS… 2023-04-17 2023-04-17 Home… 1994-01-01 2022-10-01
#> 5 NHWAHORU… 2023-04-17 2023-04-17 Home… 1994-01-01 2022-10-01
#> 6 RHORUSQ1… 2023-04-17 2023-04-17 Home… 1965-01-01 2022-10-01
#> 7 RRVRUSQ1… 2023-04-17 2023-04-17 Rent… 1956-01-01 2022-10-01
#> 8 ETOTALUS… 2023-04-17 2023-04-17 Hous… 2000-04-01 2022-10-01
#> 9 EVACANTU… 2023-04-17 2023-04-17 Hous… 2000-04-01 2022-10-01
#> 10 EOWNOCCU… 2023-04-17 2023-04-17 Hous… 2000-04-01 2022-10-01
#> # ℹ 20 more rows
#> # ℹ 10 more variables: frequency <chr>, frequency_short <chr>, units <chr>,
#> # units_short <chr>, seasonal_adjustment <chr>,
#> # seasonal_adjustment_short <chr>, last_updated <chr>, popularity <int>,
#> # group_popularity <int>, notes <chr>
To return all series in the “National Accounts” category tagged with "usa"
and not "gnp"
, ordering the results such that higher frequency series appear first:
fredr_category_series(
category_id = 32992L, # National Accounts
order_by = "frequency",
sort_order = "desc",
tag_names = "usa",
exclude_tag_names = "gnp"
)
#> # A tibble: 4 × 16
#> id realtime_start realtime_end title observation_start observation_end
#> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 RGMPUSMP 2023-04-17 2023-04-17 Tota… 2001-01-01 2021-01-01
#> 2 NGMPUSMP 2023-04-17 2023-04-17 Tota… 2001-01-01 2021-01-01
#> 3 PCRGMPUSMP 2023-04-17 2023-04-17 Tota… 2001-01-01 2017-01-01
#> 4 QGMPUSMP 2023-04-17 2023-04-17 Tota… 2001-01-01 2021-01-01
#> # ℹ 10 more variables: frequency <chr>, frequency_short <chr>, units <chr>,
#> # units_short <chr>, seasonal_adjustment <chr>,
#> # seasonal_adjustment_short <chr>, last_updated <chr>, popularity <int>,
#> # group_popularity <int>, notes <chr>
fredr_category_tags()
returns information for the FRED tags assigned to series in the category specified by category_id
. The data returned is a tibble in which each row represents a tag assigned to a series in the category specified. For example, to get all “source” tags belonging to series in the “Retail Trade” category:
fredr_category_tags(
category_id = 6L,
tag_group_id = "src"
)
#> # A tibble: 3 × 6
#> name group_id notes created popularity series_count
#> <chr> <chr> <chr> <chr> <int> <int>
#> 1 census src Census 2012-02-… 79 388
#> 2 bea src Bureau of Economic Analysis 2012-02-… 78 6
#> 3 frb stl src St. Louis Fed 2012-02-… 68 6
To search for tags with the words "usa"
in the “Production & Business Activity” category, ordering the results by popularity:
fredr_category_tags(
category_id = 1L,
search_text = "usa",
order_by = "popularity",
sort_order = "desc"
)
#> # A tibble: 1 × 6
#> name group_id notes created popularity series_count
#> <chr> <chr> <chr> <chr> <int> <int>
#> 1 usa geo United States of America 2012-02-27 10… 100 3314
fredr_category_related_tags()
returns a set of FRED tags assigned to series in the category specified by category_id
that are related to the tags specified in the tag_names
parameter. The data returned is a tibble in which each row represents a tag related to a tag assigned to a series in the specified category. For example, to get all tags except "rate"
in the “Retail Trade” category related to the tags "business"
and "monthly"
, ordering the results alphabetically:
fredr_category_related_tags(
category_id = 1L,
tag_names = "business;monthly",
exclude_tag_names = "rate",
order_by = "name"
)
#> # A tibble: 107 × 6
#> name group_id notes created popularity series_count
#> <chr> <chr> <chr> <chr> <int> <int>
#> 1 accommodation gen "" 2012-02-27… 31 20
#> 2 administrative gen "" 2012-02-27… 23 20
#> 3 agriculture gen "" 2012-02-27… 50 30
#> 4 ak geo "Alaska" 2012-02-27… 36 16
#> 5 al geo "Alabama" 2012-02-27… 45 22
#> 6 ar geo "Arkansas" 2012-02-27… 41 12
#> 7 arts gen "" 2012-02-27… 28 20
#> 8 average gen "" 2015-05-06… 53 166
#> 9 az geo "Arizona" 2012-02-27… 48 18
#> 10 business applications gen NA 2019-03-19… 33 784
#> # ℹ 97 more rows