Nothing
## ----include = FALSE----------------------------------------------------------
NOT_CRAN <- identical(tolower(Sys.getenv("NOT_CRAN")), "true")
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
eval = NOT_CRAN,
fig.width = 7,
fig.asp = 0.618,
fig.align = "center",
message = FALSE,
warning = FALSE
)
## -----------------------------------------------------------------------------
# library(realestatebr)
# library(dplyr)
## ----setup, message = FALSE---------------------------------------------------
# library(ggplot2)
#
# color_palette <- c(
# "#1E3A5F",
# "#DD6B20",
# "#2C7A7B",
# "#D69E2E",
# "#805AD5",
# "#C53030"
# )
#
# theme_series <- function() {
# theme_minimal(
# # swap for other font if needed
# base_family = "Avenir",
# base_size = 10
# ) +
# theme(
# plot.title = element_text(size = 16),
# panel.grid.minor = element_blank(),
# panel.grid.major.x = element_blank(),
# axis.line.x = element_line(color = "gray10", linewidth = 0.5),
# axis.ticks.x = element_line(color = "gray10", linewidth = 0.5),
# axis.title.x = element_blank(),
# legend.position = "bottom",
# palette.color.discrete = color_palette
# )
# }
## -----------------------------------------------------------------------------
# library(knitr)
# library(kableExtra)
## -----------------------------------------------------------------------------
# # Default table
# abecip <- get_dataset("abecip")
#
# # Specific table
# sbpe <- get_dataset("abecip", table = "units")
## -----------------------------------------------------------------------------
# ds <- list_datasets()
## -----------------------------------------------------------------------------
# ds |>
# select(name, title, source, available_tables, frequency) |>
# kable() |>
# kable_styling(bootstrap_options = "striped") |>
# scroll_box(width = "100%", height = "400px")
## -----------------------------------------------------------------------------
# info <- get_dataset_info("abecip")
# names(info$categories)
# #> [1] "sbpe" "units" "cgi"
## -----------------------------------------------------------------------------
# get_dataset("abecip", source = "github") # pre-processed asset from GitHub release
# get_dataset("abecip", source = "fresh") # direct from the original source
## -----------------------------------------------------------------------------
# sbpe <- get_dataset("abecip", table = "sbpe")
#
# glimpse(sbpe)
## -----------------------------------------------------------------------------
# # Annual net credit flow
# sbpe_annual <- sbpe |>
# filter(date >= as.Date("2019-01-01")) |>
# mutate(year = lubridate::year(date)) |>
# summarise(net_flow = sum(sbpe_netflow, na.rm = TRUE) / 1e3, .by = year) |>
# mutate(
# label_num = format(round(net_flow, 1)),
# ypos = if_else(net_flow > 0, net_flow + 10, net_flow - 10)
# )
#
# ggplot(sbpe_annual, aes(year, net_flow)) +
# geom_col(fill = color_palette[1], alpha = 0.9, width = 0.8) +
# geom_text(aes(y = ypos, label = label_num), size = 3) +
# geom_hline(yintercept = 0) +
# scale_x_continuous(breaks = 2019:2026) +
# labs(
# title = "Annual Net Savings Flow (SBPE)",
# x = NULL,
# y = "R$ billions"
# ) +
# theme_series()
## -----------------------------------------------------------------------------
# units <- get_dataset("abecip", table = "units")
#
# glimpse(units)
## -----------------------------------------------------------------------------
# # SBPE units financed per year
# units_recent <- units |>
# filter(date >= as.Date("2019-01-01"))
#
# ggplot(units_recent, aes(date, units_total)) +
# geom_point(alpha = 0.5, size = 0.8, color = color_palette[1]) +
# geom_smooth(
# color = color_palette[1],
# lwd = 0.7,
# se = FALSE,
# method = stats::loess,
# method.args = list(span = 0.4)
# ) +
# scale_x_date(date_breaks = "1 year", date_labels = "%Y") +
# labs(
# title = "Monthly Financed Units",
# y = "Units"
# ) +
# theme_series()
## -----------------------------------------------------------------------------
# bcb <- get_dataset("bcb_realestate")
#
# # Get a specific series
# sfh_pf <- bcb |>
# filter(series_info == "credito_estoque_carteira_credito_pf_sfh_br")
#
# # Get the all the related series for 'estoque_carteira_credito_pf'
# credit_stock <- bcb |>
# filter(
# category == "credito",
# type == "estoque",
# v1 == "carteira",
# v2 == "credito",
# v3 == "pf",
# # since v4 is left blank, we get all credit lines
# v5 == "br"
# )
#
# # The helper columns essentially separate the 'series_info' column allowing
# # for easier filtering. It's equivalent to filtering by regex
# credit_stock <- bcb |>
# filter(grepl(
# "(?<=credito_estoque_carteira_credito_pf_).+_br$",
# series_info,
# perl = TRUE
# ))
## -----------------------------------------------------------------------------
# ggplot(sfh_pf, aes(date, value / 1e9)) +
# geom_line(lwd = 0.7, color = color_palette[1]) +
# labs(title = "SFH", y = "R$ (billions)") +
# theme_series()
## -----------------------------------------------------------------------------
# credit_labels <- c(
# "Home Equity" = "home-equity",
# "Comercial" = "comercial",
# "Livre" = "livre",
# "FGTS" = "fgts",
# "SFH" = "sfh"
# )
#
# credit_stock <- credit_stock |>
# mutate(
# credit_line_label = factor(
# v4,
# levels = credit_labels,
# labels = names(credit_labels)
# )
# )
#
# ggplot(credit_stock, aes(date, value / 1e9)) +
# geom_area(aes(fill = credit_line_label), alpha = 0.9) +
# scale_fill_manual(values = rev(color_palette[1:5])) +
# scale_x_date(expand = expansion(mult = c(0.01))) +
# scale_y_continuous(expand = expansion(mult = c(0, 0.05))) +
# labs(
# title = "Real Estate Credit Stock",
# subtitle = "Household real estate credit stock (total debt) by credit line",
# y = "R$ (billions)",
# fill = NULL
# ) +
# theme_series()
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.