library(ggplot2)
theme_set(theme_light())
::opts_chunk$set(echo = TRUE, cache=TRUE)
knitroptions(width=100)
Hay multitud de fuentes en Internet que proporcionan acceso rápido y cómodo a series temporales en los dominios más variados. Lo que nos proponemos ilustrar aquí es el acceso a algunos meta-sitios o agregadores de datos que proporcionan un acceso cómodo y uniforme a series temporales. Pueden incluso ser cargadas directamente en R.
Hay un paquete especializado en acceder a los datos del WB. No hace falta registrarse (aunque es gratuito).
Ejemplos:
library(WDI)
<- WDIcache() cache
Búsqueda:
<- WDIsearch(string="oil", field="name", cache=cache)
tmp head(tmp)
## indicator
## [1,] "110115"
## [2,] "1101150"
## [3,] "CC.EG.CONS.OIL.PC"
## [4,] "CC.GAS.PPBC.CN"
## [5,] "CC.GAS.PPBC.CO"
## [6,] "CC.GAS.PPBC.ID"
## name
## [1,] "110115:Oils and fats (Class)"
## [2,] "1101150:Oils and fats"
## [3,] "Per capita daily oil consumption (barrels per capita per day)"
## [4,] "Gas pipeline capacity by project status (barrels of oil equivalent per day) - Cancelled"
## [5,] "Gas pipeline capacity by project status (barrels of oil equivalent per day) - Construction"
## [6,] "Gas pipeline capacity by project status (barrels of oil equivalent per day) - In Development (Proposed + Construction)"
<- WDI(country="US",indicator="EG.ELC.PETR.ZS",
tmp start=1980, end=2020)
tmp
## iso2c country EG.ELC.PETR.ZS year
## 1 US United States NA 2020
## 2 US United States NA 2019
## 3 US United States NA 2018
## 4 US United States NA 2017
## 5 US United States NA 2016
## 6 US United States 0.9038065 2015
## 7 US United States 0.9232591 2014
## 8 US United States 0.8597392 2013
## 9 US United States 0.7743128 2012
## 10 US United States 0.9135044 2011
## 11 US United States 1.1043177 2010
## 12 US United States 1.2110496 2009
## 13 US United States 1.3303308 2008
## 14 US United States 1.8070661 2007
## 15 US United States 1.8390830 2006
## 16 US United States 3.3097620 2005
## 17 US United States 3.3530935 2004
## 18 US United States 3.3792074 2003
## 19 US United States 2.6360527 2002
## 20 US United States 3.3749076 2001
## 21 US United States 2.9430051 2000
## 22 US United States 3.5037347 1999
## 23 US United States 3.8664436 1998
## 24 US United States 2.9496871 1997
## 25 US United States 2.6495353 1996
## 26 US United States 2.4502483 1995
## 27 US United States 3.4913944 1994
## 28 US United States 3.7404762 1993
## 29 US United States 3.2565614 1992
## 30 US United States 3.9042487 1991
## 31 US United States 4.0791954 1990
## 32 US United States 5.6043283 1989
## 33 US United States 5.5745507 1988
## 34 US United States 4.6661492 1987
## 35 US United States 5.5364121 1986
## 36 US United States 4.0892030 1985
## 37 US United States 5.0021988 1984
## 38 US United States 6.3132493 1983
## 39 US United States 6.6090502 1982
## 40 US United States 9.0631032 1981
## 41 US United States 10.8437701 1980
library(zoo)
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
<- WDI(country="US",indicator="EG.ELC.PETR.ZS",
tmp start=1980, end=2015)
<- zoo(tmp[,3], order.by=tmp[,4])
ene.use plot(ene.use)
Hay un paquete alternativo (wbstats
):
library(wbstats)
<- wb_cache(lang="es") new_cache
library(ggplot2)
<- wb_search(pattern="CRUDO", cache=new_cache)
tmp <- wb_data(country=c("FR","ES"),
elec.fs indicator = "EG.ELC.PETR.ZS",
mrv=50)
ggplot(elec.fs, aes(x = date, y = EG.ELC.PETR.ZS, colour = country)) +
geom_line(size = 1) +
labs(title = "Electricidad origen fósil (%)", x = "Año", y = "%")
Podemos pedir específicamente datos de frecuencia mensual, especificando comienzo y final y freq="M"
, pero la vasta mayoría de datos en el World Bank son anuales.
La viñeta del paquete es bastante ilustrativa de las capacidades del mismo.
A veces, una página web muestra una tabla en formato HTML y no da opción a descargarla en ningún formato “civilizado”. Con algún trabajo, podemos sin embargo capturar los datos. El modus operandi consiste en:
XML
.fichero.html
.readHTMLTable
así:`
<- readHTMLTable("fichero.html") tablas
Esto dejará en tablas
una lista con las tablas (quizá más de una) que pueda haber en la página fichero.html
, traducidas a dataframes. readHTMLTable
hace un espléndido trabajo, reconociendo tablas y saltando por encima de aquéllo que no lo és. No es sin embargo inmediato, fácil ni garantizado: a menudo hay que hacer ajustes con lo que se obtiene, o puede no obtenerse nada en absoluto (lo que vemos como tabla en una página HTML podría haber sido generado como un gráfico, por ejemplo), pero en general, ahorrará mucho tiempo y es vastamente mejor que copiar los datos a mano.
Gretl es un programa libre para análisis econométrico; es más orientado al uso de menús (y por tanto con una curva de aprendizaje menos empinada que R); el inconveniente correlativo es la menor programabilidad, flexibilidad y potencia. Existe para las principales plataformas, incluyendo Linux y Windows.
Nosotros no lo utilizaremos para el cálculo; pero puede ser de interés como “front end” para acceder de manera cómoda a muchas series temporales, que pueden luego fácilmente exportarse a R u otros programas.
gretl.png
Los datos de consumo de gasolina y gasoil de la sesión N0, en particular, se obtuvieron de aquí.
¡Hay una infinidad! Casi todo lo imaginable es accesible con un esfuerzo moderado de búsqueda. En http://opendata.stackexchange.com/ puede encontrarse información sobre muchas fuentes de datos (y obtener información sobre lo que no se encuentre).
Una lista de fuentes de información con datos de la CAPV libremente disponibles, muchos con estructura de serie temporal, están disponibles en http://opendata.euskadi.eus/catalogo-datos/.