Reproduza indicadores econômicos de “The Economist”

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon Observatório Macroeconômico – R, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

Dados econômicos (% de variação em relação ao ano anterior)
Produto Interno Bruto
Produção industrial
Preços ao consumidor
Taxa de desemprego, %
Mais recentes trimestre* 2020 2021 Mais recentes Mais recentes 2020 Mais recentes
Estados Unidos +0,3 Q1 -5,0 -5,9 +4,7 -15.0 Abr +0,3 Abr +0,6 +14,7 Abr
China -0,1 Q1 -1,0 +1,2 +9,2 +5,4 nov§ +3,3 abr +3,0 +3,7 Q1
Japão -2,2 Q1 -3,4 -5,2 +3,0 -6,5 mar +0,1 Abr +0,2 +2,6 Abr
Grã-Bretanha -1,6 Q1 -7,7 -6,5 +4,0 -8,2 Mar +0,9 Abr +1,2 +3,8 jan
Canadá -0,9 Q1 -8,2 -6,2 +4,2 +0,7 fev -0,2 Abr +0,6 +13,0 Abr
Área do euro -3,2 Q1 -14,2 -7,5 +4,7 -12,8 mar +0,3 Abr +0,2 +7,4 mar
Áustria -2,4 Q1 -9,6 -7,0 +4,5 +1,2 jan +1,5 abr +0,4 +4,5 mar
Bélgica -2,8 Q1 -14,7 -6,9 +4,6 +11,7 dez +0,6 Abr +0,3 +5,3 mar
França -5,4 Q1 -21,4 -7,2 +4,5 -17.3 Mar +0,3 Abr +0,3 +8,4 mar
Alemanha -2,3 Q1 -8,6 -7,0 +5,2 -14,5 Mar +0,9 Abr +0,3 +3,5 mar
Grécia +1,0 Q4 -2,7 -10,0 +5,1 +0,1 mar -1,4 Abr -0,5 +16,4 Jan
Itália -5,4 Q1 -19,6 -9,1 +4,8 -29.3 Mar +0,1 mar +0,2 +8,4 mar
Países Baixos -0,6 Q1 -6,7 -7,5 +3,0 -2,2 mar +1,2 abr +0,5 +2,9 mar
Espanha -4,1 Q1 -19,4 -8,0 +4,3 -12.2 Mar -0,7 Abr -0,3 +14,5 mar
República Checa -2,3 Q1 -13,6 -6,5 +7,5 -10.0 Mar +3,2 Abr +2,1 +2,0 mar
Dinamarca +0,3 Q1 -7,4 -6,5 +6,0 -4,1 mar +0,4 mar +0,7 +4,8 mar
Noruega +0,2 Q1 -6,0 -6,3 +2,9 +7,4 mar +0,8 Abr +2,4 +3,5 fev
Polônia +1,6 Q1 -2,0 -4,6 +4,2 -5,0 mar +3,4 abr +3,2 +3,0 mar
Rússia +1,6 Q4 +2,2 -5,5 +3,5 -0,2 Mar +3,1 Abr +3,1 +4,4 Q1
Suécia +0,5 Q1 -1,2 -6,8 +5,2 -0,1 mar -0,4 Abr +0,5 +6,7 mar
Suíça +1,5 Q4 +1,3 -6,0 +3,8 +5,4 Q4§ -1.1 Abr -0,4 +2,4 Maio
Peru +4,4 Q1 +2,5 -5,0 +5,0 -1,9 mar +10,9 abr +12,0 +12,6 Jan
Austrália +2,2 Q4 +2,1 -6,7 +6,1 +3,8 Q4 +2,2 Q1 +1,4 +6,2 abr
Hong Kong -2,8 Q4 -1,3 -4,8 +3,9 -0,5 Q4 +2,3 mar +2,0 +4,0 Q1
Índia +4,8 Q4 +4,5 +1,9 +7,4 +2,6 dez§ +5,4 abr +3,3 +5,4 Ano
Indonésia +3,0 Q1 -2,7 +0,5 +8,2 -3,7 Abr +2,7 Abr +2,9 +3,9 Q3
Malásia +4,7 Q4§ +14,7 -1,7 +9,0 +3,1 mar -0,2 Mar +0,1 +3,3 Q4
Paquistão +3,3 Ano N / D -1,5 +2,0 +9,9 dez +9,1 abr +11,1 +4,4 Q2§
Filipinas +6,1 Q4§ +6,4 +0,6 +7,6 -10.1 dez +2,5 mar +1,7 +2,1 Q4
Cingapura +1,0 Q4 +3,1 -3,5 +3,0 +16,5 mar -0,7 Abr -0,2 +3,1 Q1
Coreia do Sul +1,3 Q1 -5,5 -1,2 +3,4 +6,1 mar +0,1 Abr +0,3 +3,8 abr
Taiwan +3,0 Q4 N / D -4,0 +3,5 N / D +0,7 Q4 +0,5 +3,7 Q4
Tailândia +2,4 Q3 +0,4 -6,7 +6,1 -1,2 Q1 -3.0 Abr -1,1 +0,8 Q1
Argentina -0,0 Q4 -0,0 -5,7 +4,4 +4,4 Q3 +45,6 Abr N / D +9,5 Q4
Brasil +1,7 Q4 +2,0 -5,3 +2,9 -0,1 Jan +2,4 abr +3,6 +8,0 nov
Chile +0,5 Q1 +12,7 -4,5 +5,3 -0,2 Mar +3,4 abr +3,4 +7,4 nov
Colômbia +0,4 Q1 -9,2 -2,4 +3,7 -1.1 dez§ +3,5 Abr +3,5 +12,2 mar
México -2,2 Q1 -4,9 -6,6 +3,0 -2,9 Jun +2,1 Abr +2,7 +3,3 mar
Peru +2,1 Q1 -16,9 -4,5 +5,2 +20,3 abr§ +1,8 mar +1,7 +5,9 Q4
Egito +5,6 Ano N / D +2,0 +2,8 +6,2 mar§ +3,6 Nov +5,9 +9,3 Q4§
Israel +0,6 Q1 -7,1 -6,3 +5,0 +12,6 fev -0,6 Abr -1,9 +3,3 abr
Arábia Saudita -0,3 Q4 +22,3 -2,3 +2,9 +1,6 Q3 +1,3 abr +0,9 +6,0 Ano§
África do Sul -0,6 Q4 -1,4 -5,8 +4,0 +1,3 ago§ +4,1 mar +2,4 +29,8 Q4
Fonte: DBnomics (Eurostat, OIT, FMI, OCDE e fontes nacionais). Clique nas figuras nas colunas `mais recentes ‘para ver a série completa.
* % de variação em relação ao trimestre anterior, taxa anual FMI estimativa / previsão 2019 § 2018
Leia Também  Telleroo agiliza pagamentos para empresas de contabilidade com Moorwand

O objetivo desta postagem no blog é reproduzir parte da tabela de indicadores econômicos de “The Economist” usando apenas ferramentas gratuitas. Tomamos dados diretamente do DBnomics. O DBnomics API pode ser acessado através do R com o pacote rdbnomics. Todo o código a seguir está escrito em R, graças ao RCoreTeam (2016) e ao RStudioTeam (2016). Para atualizar a tabela, faça o download do código aqui e execute-o novamente.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
if (!"pacman" %in% installed.packages()[,"Package"]) install.packages("pacman", repos='http://cran.r-project.org')
pacman::p_load(tidyverse,rdbnomics,magrittr,zoo,lubridate,knitr,kableExtra,formattable)

opts_chunk$set(fig.align="center", message=FALSE, warning=FALSE)

currentyear <- year(Sys.Date())
lastyear <- currentyear-1
beforelastyear <- currentyear-2
CountryList <- c("United States","China","Japan","Britain","Canada",
                 "Euro area","Austria","Belgium","France","Germany","Greece","Italy","Netherlands","Spain",
                 "Czech Republic","Denmark","Norway","Poland","Russia","Sweden","Switzerland","Turkey",
                 "Australia","Hong Kong","India","Indonesia","Malaysia","Pakistan","Philippines","Singapore","South Korea","Taiwan","Thailand",
                 "Argentina","Brazil","Chile","Colombia","Mexico","Peru",
                 "Egypt","Israel","Saudi Arabia","South Africa")

Baixar

gdp <- rdb("OECD","MEI",ids=".NAEXKP01.GPSA+GYSA.Q")
hongkong_philippines_thailand_gdp <- 
  rdb("IMF","IFS",mask="Q.HK+PH+TH.NGDP_R_PC_CP_A_SA_PT+NGDP_R_PC_PP_SA_PT") %>% 
  rename(Country=`Reference Area`) %>% 
  mutate(Country=case_when(Country=="Hong Kong, China" ~ "Hong Kong",
                           TRUE ~ Country),
         MEASURE=case_when(INDICATOR=="NGDP_R_PC_CP_A_SA_PT" ~ "GYSA",
                           INDICATOR=="NGDP_R_PC_PP_SA_PT" ~ "GPSA"))
malaysia_peru_saudi_singapore_gdp <- 
  rdb("IMF","IFS",mask="Q.MY+PE+SA+SG.NGDP_R_PC_CP_A_PT+NGDP_R_PC_PP_PT") %>% 
  rename(Country=`Reference Area`) %>% 
  mutate(MEASURE=case_when(INDICATOR=="NGDP_R_PC_CP_A_PT" ~ "GYSA",
                           INDICATOR=="NGDP_R_PC_PP_PT" ~ "GPSA"))
taiwan_gdp <- 
  rdb("BI/TABEL9_1/17.Q") %>% 
  mutate(Country="Taiwan",
         MEASURE="GYSA")
egypt_pakistan_gdp <-
  rdb("IMF","WEO",mask="EGY+PAK.NGDP_RPCH") %>% 
  rename(Country=`WEO Country`) %>% 
  mutate(MEASURE="GYSA") %>% 
  filter(year(period)<currentyear)
china_gdp_level <- 
  rdb(ids="OECD/MEI/CHN.NAEXCP01.STSA.Q")
gdp_qoq_china <-
  china_gdp_level %>% 
  arrange(period) %>% 
  mutate(value=value/lag(value)-1,
         MEASURE="GPSA")
gdp_yoy_china <-
  china_gdp_level %>% 
  arrange(period) %>% 
  mutate(quarter=quarter(period)) %>% 
  group_by(quarter) %>% 
  mutate(value=value/lag(value)-1,
         MEASURE="GYSA")
argentina_gdp_level <-
  rdb(ids="Eurostat/naidq_10_gdp/Q.SCA.KP_I10.B1GQ.AR") %>% 
  rename(Country=`Geopolitical entity (reporting)`)
gdp_qoq_argentina <-
  argentina_gdp_level %>% 
  arrange(period) %>% 
  mutate(value=value/lag(value)-1,
         MEASURE="GPSA")
gdp_yoy_argentina <-
  argentina_gdp_level %>% 
  arrange(period) %>% 
  mutate(quarter=quarter(period)) %>% 
  group_by(quarter) %>% 
  mutate(value=value/lag(value)-1,
         MEASURE="GYSA")
gdp <- bind_rows(gdp,hongkong_philippines_thailand_gdp,malaysia_peru_saudi_singapore_gdp,taiwan_gdp,egypt_pakistan_gdp,gdp_yoy_china,gdp_qoq_china,gdp_yoy_argentina,gdp_qoq_argentina)

indprod <- rdb("OECD","MEI",ids=".PRINTO01.GYSA.M")
australia_swiss_indprod <- rdb("OECD","MEI","AUS+CHE.PRINTO01.GYSA.Q")
china_egypt_mexico_malaysia_indprod <-
  rdb("IMF","IFS",mask="M.CN+EG+MX+MY.AIP_PC_CP_A_PT") %>% 
  rename(Country=`Reference Area`)
indonesia_pakistan_peru_philippines_singapore_southafrica_indprod <-
  rdb("IMF","IFS",mask="M.ID+PK+PE+PH+SG+ZA.AIPMA_PC_CP_A_PT") %>% 
  rename(Country=`Reference Area`)
argentina_hongkong_saudiarabia_thailand_indprod <- 
  rdb("IMF","IFS",mask="Q.AR+HK+SA+TH.AIPMA_PC_CP_A_PT") %>% 
  rename(Country=`Reference Area`) %>% 
  mutate(Country=case_when(Country=="Hong Kong, China" ~ "Hong Kong",
                           TRUE ~ Country))
indprod <- bind_rows(indprod,australia_swiss_indprod,china_egypt_mexico_malaysia_indprod,indonesia_pakistan_peru_philippines_singapore_southafrica_indprod,argentina_hongkong_saudiarabia_thailand_indprod)

cpi <- rdb("OECD","MEI",ids=".CPALTT01.GY.M")
australia_cpi <- rdb("OECD","MEI",ids="AUS.CPALTT01.GY.Q")
taiwan_cpi <- 
  rdb("BI/TABEL9_2/17.Q") %>% 
  mutate(Country="Taiwan")
other_cpi <- 
  rdb("IMF","IFS",mask="M.EG+HK+MY+PE+PH+PK+SG+TH.PCPI_PC_CP_A_PT") %>% 
  rename(Country=`Reference Area`) %>% 
  mutate(Country=case_when(Country=="Hong Kong, China" ~ "Hong Kong",
                           TRUE ~ Country))
cpi <- bind_rows(cpi,australia_cpi,taiwan_cpi,other_cpi)

unemp <- rdb("OECD","MEI",ids=".LRHUTTTT.STSA.M")
swiss_unemp <- rdb("OECD","MEI",mask="CHE.LMUNRRTT.STSA.M")
brazil_unemp <- rdb("OECD","MEI",mask="BRA.LRUNTTTT.STSA.M")
southafrica_russia_unemp <- rdb("OECD","MEI",mask="ZAF+RUS.LRUNTTTT.STSA.Q")
china_unemp <- 
  rdb(ids="BUBA/BBXL3/Q.CN.N.UNEH.TOTAL0.NAT.URAR.RAT.I00") %>% 
  mutate(Country="China")
saudiarabia_unemp <-
  rdb(ids="ILO/UNE_DEAP_SEX_AGE_RT/SAU.BA_627.AGE_AGGREGATE_TOTAL.SEX_T.A") %>%
  rename(Country=`Reference area`) %>%
  filter(year(period)<currentyear)
india_unemp <-
  rdb(ids="ILO/UNE_2EAP_SEX_AGE_RT/IND.XA_1976.AGE_YTHADULT_YGE15.SEX_T.A") %>%
  rename(Country=`Reference area`) %>%
  filter(year(period)<currentyear)
indonesia_pakistan_unemp <-
  rdb("ILO","UNE_DEAP_SEX_AGE_EDU_RT",mask="IDN+PAK..AGE_AGGREGATE_TOTAL.EDU_AGGREGATE_TOTAL.SEX_T.Q") %>% 
  rename(Country=`Reference area`)
other_unemp <-
  rdb("ILO","UNE_DEA1_SEX_AGE_RT",mask="ARG+EGY+HKG+MYS+PER+PHL+SGP+THA+TWN..AGE_YTHADULT_YGE15.SEX_T.Q") %>%
  rename(Country=`Reference area`) %>%
  mutate(Country=case_when(Country=="Hong Kong, China" ~ "Hong Kong",
                           Country=="Taiwan, China" ~ "Taiwan",
                           TRUE ~ Country))
unemp <- bind_rows(unemp,brazil_unemp,southafrica_russia_unemp,swiss_unemp,china_unemp,saudiarabia_unemp,india_unemp,indonesia_pakistan_unemp,other_unemp)

forecast_gdp_cpi_ea <- 
  rdb("IMF","WEOAGG",mask="163.NGDP_RPCH+PCPIPCH") %>% 
  rename(`WEO Country`=`WEO Countries group`)
forecast_gdp_cpi <- 
  rdb("IMF","WEO",mask=".NGDP_RPCH+PCPIPCH") %>% 
  bind_rows(forecast_gdp_cpi_ea) %>% 
  transmute(Country=`WEO Country`,
            var=`WEO Subject`,
            value,
            period) %>% 
  mutate(Country=str_trim(Country),
         var=str_trim(var)) %>% 
  mutate(Country=case_when(Country=="United Kingdom" ~ "Britain",
                           Country=="Hong Kong SAR" ~ "Hong Kong",
                           Country=="Korea" ~ "South Korea",
                           Country=="Taiwan Province of China" ~ "Taiwan",
                           TRUE ~ Country),
         var=case_when(var=="Gross domestic product, constant prices" ~ "GDP",
                       var=="Inflation, average consumer prices" ~ "CPI",
                       TRUE ~ var))
forecast_gdp_cpi <- left_join(data.frame(Country=CountryList),forecast_gdp_cpi,by="Country")

Transformar

gdp_yoy_latest_period <-
  gdp %>% 
  filter(MEASURE=="GYSA") %>% 
  filter(!is.na(value)) %>% 
  group_by(Country) %>% 
  summarise(period=max(period))
gdp_yoy_latest <-
  gdp %>% 
  filter(MEASURE=="GYSA") %>% 
  inner_join(gdp_yoy_latest_period) %>% 
  mutate(var="GDP",measure="latest")

gdp_qoq_latest_period <-
  gdp %>% 
  filter(MEASURE=="GPSA") %>% 
  filter(!is.na(value)) %>% 
  group_by(Country) %>% 
  summarise(period=max(period))
gdp_qoq_latest <-
  gdp %>% 
  filter(MEASURE=="GPSA") %>% 
  inner_join(gdp_qoq_latest_period) %>% 
  mutate(value=((1+value/100)^4-1)*100,
         var="GDP",
         measure="quarter")

gdp_2020_2021 <-
  forecast_gdp_cpi %>% 
  filter(var=="GDP" & (period=="2020-01-01" | period=="2021-01-01")) %>% 
  mutate(measure=as.character(year(period)))

indprod_latest_period <-
  indprod %>% 
  filter(!is.na(value)) %>% 
  group_by(Country) %>% 
  summarise(period=max(period))
indprod_latest <-
  indprod %>% 
  inner_join(indprod_latest_period) %>% 
  mutate(var="indprod",measure="latest")

cpi_latest_period <-
  cpi %>% 
  filter(!is.na(value)) %>% 
  group_by(Country) %>% 
  summarise(period=max(period))
cpi_latest <-
  cpi %>% 
  inner_join(cpi_latest_period) %>% 
  mutate(var="CPI",measure="latest")

cpi_2020 <-
  forecast_gdp_cpi %>% 
  filter(var=="CPI" & period=="2020-01-01") %>% 
  mutate(measure=as.character(year(period)))

unemp_latest_period <-
  unemp %>% 
  filter(!is.na(value)) %>% 
  group_by(Country) %>% 
  summarise(period=max(period))
unemp_latest <- 
  unemp %>% 
  inner_join(unemp_latest_period) %>% 
  mutate(var="unemp",measure="latest")

Mesclar

df_all <- 
  bind_rows(gdp_yoy_latest,gdp_qoq_latest,gdp_2020_2021,indprod_latest,cpi_latest,cpi_2020,unemp_latest) %>% 
  mutate(value=ifelse(value>=,
                      paste0("+",sprintf("%.1f",round(value,1))),
                      sprintf("%.1f",round(value,1)))) %>% 
  unite(measure,c(var,measure))

df_latest <- 
  df_all %>% 
  filter(measure %in% c("GDP_latest","indprod_latest","CPI_latest","unemp_latest")) %>% 
  mutate(value=case_when(`@frequency`=="quarterly" ~ paste(value," Q",quarter(period),sep=""),
                         `@frequency`=="monthly" ~ paste(value," ",month(period,label = TRUE, abbr = TRUE, locale = "en_US.utf8"),sep=""),
                         `@frequency`=="annual" ~ paste(value," Year",sep=""),
                         TRUE ~ value)) %>% 
  mutate(value=text_spec(ifelse(year(period)==lastyear,paste0(value,footnote_marker_symbol(3)),
                                ifelse(year(period)==beforelastyear,paste0(value,footnote_marker_symbol(4)),value)),
                         link = paste("https://db.nomics.world",provider_code,dataset_code,series_code,sep = "/"), 
                         color = "#333333",escape = F,extra_css="text-decoration:none"))

df_final <- 
  df_all %>% 
  filter(measure %in% c("GDP_quarter","GDP_2020","GDP_2021","CPI_2020")) %>% 
  bind_rows(df_latest) %>% 
  mutate(Country=case_when(Country=="United Kingdom" ~ "Britain",
                           Country=="Euro area (19 countries)" ~ "Euro area",
                           Country=="China (People's Republic of)" ~ "China",
                           Country=="Korea" ~ "South Korea",
                           TRUE ~ Country)) %>% 
  select(Country,value,measure) %>% 
  spread(measure,value) %>% 
  select(Country,GDP_latest,GDP_quarter,GDP_2020,GDP_2021,indprod_latest,CPI_latest,CPI_2020,unemp_latest)

df_final <- left_join(data.frame(Country=CountryList),df_final,by="Country")

Exibição

names(df_final)[1] <- ""
names(df_final)[2] <- "latest"
names(df_final)[3] <- paste0("quarter",footnote_marker_symbol(1))
names(df_final)[4] <- paste0("2020",footnote_marker_symbol(2))
names(df_final)[5] <- paste0("2021",footnote_marker_symbol(2))
names(df_final)[6] <- "latest"
names(df_final)[7] <- "latest"
names(df_final)[8] <- paste0("2020",footnote_marker_symbol(2))
names(df_final)[9] <- "latest"

df_final %>% 
  kable(row.names = F,escape = F,align = c("l",rep("c",8)),caption = "Economic data (% change on year ago)") %>% 
  kable_styling(bootstrap_options = c("striped", "hover","responsive"), fixed_thead = T, font_size = 13) %>% 
  add_header_above(c(" " = 1, "Gross domestic product" = 4, "Industrial production  " = 1, "Consumer prices"= 2, "Unemployment rate, %"=1)) %>% 
  column_spec(1, bold = T) %>% 
  row_spec(seq(1,nrow(df_final),by=2), background = "#D5E4EB") %>% 
  row_spec(c(5,14,22,33,39),extra_css = "border-bottom: 1.2px solid") %>% 
  footnote(general = "DBnomics (Eurostat, ILO, IMF, OECD and national sources). Click on the figures in the `latest` columns to see the full time series.",
           general_title = "Source: ",
           footnote_as_chunk = T,
           symbol = c("% change on previous quarter, annual rate ", "IMF estimation/forecast", paste0(lastyear),paste0(beforelastyear)))

Bibliografia

R Core Team.
R: Uma linguagem e ambiente para computação estatística.
Fundação R para Computação Estatística, Viena, Áustria, 2016.
URL: https://www.R-project.org. ↩

Leia Também  Novo pacote RcppDate 0.0.1 agora no CRAN!

Equipe RStudio.
RStudio: ambiente de desenvolvimento integrado para R.
RStudio, Inc., Boston, MA, 2016.
URL: http://www.rstudio.com/. ↩

var vglnk = {key: ‘949efb41171ac6ec1bf7f206d57e90b8’};

(função (d, t) {
var s = d.createElement
s.src = ‘//cdn.viglink.com/api/vglnk.js’;
var r = d.getElementsByTagName
} (documento, ‘script’));

Para Deixe um comentário para o autor, siga o link e comente no blog: Observatório Macroeconômico – R.

R-bloggers.com oferece atualizações diárias por email sobre notícias e tutoriais do R sobre o aprendizado do R e muitos outros tópicos. Clique aqui se você deseja publicar ou encontrar um emprego em ciência da dados / R.


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br