Principales funcionalidades del package

Como propuesta inicial, este proyecto pretende realizar el desarrollo de un package en R que permita la extracción de datos abiertos a través de servicios API JSON del INE (Instituto Nacional de Estadística), y que estos datos puedan ser accesibles mediante una estructura de datos conocida por R (como es el caso de un Data Frame), y así poder realizar un análisis o representación de los datos mucho más eficiente.

Obtención de datos mediante URL de la API JSON

Actualmente la extracción de datos desde la API JSON del INE se realiza mediante el acceso a una URL. La definición de la URL del INE es la siguiente:

http://servicios.ine.es/wstempus/js/{idioma}/{función}/{input}[?parámetros]

Los campos que aparecen entre llaves, { }, son obligatorios.

Los campos que aparecen entre corchetes, [ ], son opcionales y cambian en relación a la función considerada.

Descripción de cada uno de ellos:

Idioma

http://servicios.ine.es/wstempus/js/{idioma}/{función}/{input}[?parámetros]

Puede tomar los siguientes valores:

  • ES: español
  • EN: inglés

Función

http://servicios.ine.es/wstempus/js/{idioma}/{función}/{input}[?parámetros]

Funciones implementadas en el sistema para poder realizar diferentes tipos de consulta en función del tipo de elemento que se quiere recuperar (más información en “Petición de metadatos” y “Petición de datos”):

  • Operaciones: OPERACIONES_DISPONIBLES, OPERACIÓN
  • Variables: VARIABLES, VARIABLES_OPERACION
  • Valores: VALORES_VARIABLES, VALORES_VARIABLEOPERACION
  • Tablas: TABLAS_OPERACION, GRUPOS_TABLA
  • Series: SERIE, SERIES_OPERACION
  • Publicaciones: PUBLICACIONES, PUBLICACIONES_OPERACION
  • Datos: DATOS_SERIE, DATOS_TABLA

Inputs

http://servicios.ine.es/wstempus/js/{idioma}/{función}/{input}[?parámetros]

Identificadores de los elementos de la base de datos.

Ejemplo 1: Identificadores del elemento operación estadística.

Existen tres códigos para la identificación de la operación estadística “Índice de Precios de Consumo (IPC)”:

  • Código alfabético Tempus3 interno (IPC)
  • Código numérico Tempus3 interno (Id=25)
  • Código de la operación estadística en el Inventario de Operaciones Estadísticas (IOE30138)

Ejemplo 2: Identificador de la variable “Provincias”:

  • Código numérico Tempus3 interno (Id=115)

Parámetros

http://servicios.ine.es/wstempus/js/{idioma}/{función}/{input}[?parámetros]

Pasamos parámetros en la URL a partir del símbolo ?

Para pasar más de un parámetro usamos como separador el símbolo &

Parámetros comunes a todas las funciones :

  • page Debido al gran número de registros que se pueden recuperar en algunas consultas, es necesario ofrecer la respuesta paginada. En concreto, se ofrece un máximo de 500 elementos por página para no ralentizar la respuesta. Para cambiar de página, dar valor al parámetro page.
  • download=nombre_del_fichero.json Cualquier petición puede descargarse en un fichero plano con extensión .json
  • det Ofrece mayor nivel de detalle de la información mostrada. Da acceso a los atributos de la consulta que son a su vez elementos de la base de datos Tempus3
  • tip  Debido a la complejidad del servicio, es necesario ofrecer la respuesta de datos en modo amigable y con la posibilidad de incluir los metadatos de las series para una mejor comprensión del mismo.
    • Tipo amigable tip=A
    • Tipo metadatostip=M (sólo para peticiones de series)
    • Tipo amigable + metadatostip=AM

Párametros sólo para las peticiones de datos (obligatorio usar uno de los dos):

  • date Permite filtrar datos por fecha según diferentes opciones:
    • Fecha concreta: date=YYYYMMDD
    • Lista de fechas concretas: date=YYYYMMDD&date=YYYYMMDD
    • Rango de fechas: date=YYYYMMDD:YYYYMMDD (permite omitir tanto la Fecha Inicio como la Fecha Fin)
  • nult  Devuelve los n últimos datos.

Parámetros para la obtención de operaciones y tablas estadísticas:

  • geo  para obtener resultados en función del ámbito geográfico.
    • Resultados por comunidades autónomas, provincias, municipios y otras desagregaciones geo=1
    • Resultados nacionales: geo=0

Obtención de datos mediante el package INEBaseR de la API JSON

Utilizando el package INEBaseR, podemos obtener los mismos datos simplemente haciendo llamadas a funciones.

Esta información será devuelta como una estructura de datos u objeto de R. Esto es posible gracias a la utilización de la función fromJSON de la librería jsonlite:

fromJSON(paste0("http://servicios.ine.es/wstempus/js/", lang, "/SERIES_OPERACION/", code, "?page=", page, "&det=", det, "&tip=", tip))

Este es el código de la función get_series_operation que devuelve un data frame con todos las series de una operación a partir del código de identificación de una serie.

De esta forma, si llamamos a la función get_series_operation,  pasando como parámetro el código identificativo de la operación (IOE30138 / IPC / 25)

get_series_operation(25)

El resultado obtenido es el siguiente:

inebase-r-dataframe-series-operation-ine

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s