14 de outubro de 2021

O IGE

Introdución

Para que empregamos o R no IGE?



  1. Automatización de procesos

  2. Tratamento estatístico da información

  3. Elaboración de informes automatizados

  4. Elaboración de aplicacións web dinámicas

Automatización de procesos

Información

  • Ademais de información propia, empregamos información procedente de diversas fontes de información

    • Dirección Xeral de Tráfico (DGT)
    • Servizo de Emprego Público
    • Ministerio de Fomento
  • Esta información pode ser mensual, trimestral, anual…

  • O que implica que cada mes, trimestre, ano… temos que facer o mesmo procedemento

Que fixemos?

  • Automatizar moitos destes procedementos que se repiten mensualmente, trimestralmente, … empregando R

Automatización de procesos

Un exemplo: Información de contratos rexistrados (SEPE)

  • Descarga da información mensual de contratos rexistrados da páxina do SEPE
library(readxl)
url="http://www.sepe.es/SiteSepe/contenidos/que_es_el_sepe/estadisticas/
datos_avance/xls/contratos_prov/contratos_sexedadsec_Galicia.xls"
download.file(url,"R:/Servicios/Difusion/OPERACIÓNS ESTATISTICAS/_BANCO DE SERIES
              CONXUNTURA/cargas boletín B/contratos.xls",mode="wb")
  • Identificación dos códigos do SEPE cos códigos da nosa base de datos

  • Grabación da información na base de datos de Mysql

series="('CIT','CICI','CTOT','CTT','CTT','CTF')"
actualizar_BSC(datos,series,actualizar)
  • Paquetes empregados: readxl, tidyverse, RODBC,stringi

Automatización de procesos

Un exemplo: Información de contratos rexistrados (SEPE)

Automatización de procesos

Moitos procesos

library(tidyverse)
library(readxl)
library(RODBC)
library(stringi)
library(RODBC)
library(openxlsx)
source("R:/Servicios/Difusion/programas/BSC/actualizar_BSC.R")

source("Consumo_gasolinas.R",encoding="UTF-8") ####CORES
source("Licitacion_oficial_fomento.R",encoding="UTF-8") ###MINISTERIO DE FOMENTO
source("Visados.R",encoding="UTF-8") ###MINISTERIO DE FOMENTO
source("Matriculacion_vehiculos.R",encoding="UTF-8") ###DGT
###CITROEN, HAI QUE DICIRLLE QUE MES E ANO QUERES LER
mes="Diciembre"
mes2=12
ano=2020
source("citroen.R",encoding="UTF-8") ###CITROEN
####MERCADO LABORAL
source("convenios.R",encoding="UTF-8") ###CONVENIOS
source("contratos.R",encoding="UTF-8") ##CONTRATOS

Tratamento estatístico da información

Base de datos sociodemográfica: contén información socioeconómica da poboación residente en Galicia

  • As características demográficas de cada persoa (nome, apelidos, sexo, idade, nacionalidade, etc.)
  • A súa relación coa actividade económica: se traballou no ano de referencia e as características dos postos de traballo desempeñados
  • Se percibiu unha pensión contributiva da Seguridade Social no ano de referencia e as características da mesma
  • Se se viu afectada por fenómenos demográficos do tipo nacemento, defunción e/ou matrimonio
  • Identificación das relacións de parentesco e de convivencia entre persoas
  • Información xeorreferenciada do lugar de residencia e do lugar de traballo

Tratamento estatístico da información

Base de datos sociodemográfica

Tratamento estatístico da información

Que empregamos para cruzar todos estes rexistros?

  • O DNI
  • Nome, apelidos, sexo, data de nacemento, concello de residencia

Tratamento estatístico da información

Tratamento estatístico da información

Librerías empregadas

  • stringdist: só se pode empregar con variables tipo caracter
cruce <- stringdist_left_join(padron,
                            afiliados,
                            by=c("nomb","ape1","ape2"), 
                            max_dist=3,method="lv",distance_col="distance") %>% 
  select(clave.x,clave.y,cmun.x,cmun.y,nomb.distance,ape1.distance,ape2.distance)
  • fuzzyjoin:
  cruce <- difference_left_join(padron,afiliados,
                           by=c("ANO","MES","DIA"), 
                           max_dist=30,distance_col="distance") %>% 
  select(clave.x,clave.y,identity.x,identity.y,ANNO.distance,MES.distance,DIA.distance)

Tratamento estatístico da información

Xeorreferenciación: cruzar enderezos

Tratamento estatístico da información

text2vec

    #Crea vocabulario

    it = itoken(c(padron$vias,catastro$vias), progressbar = FALSE)
    v = create_vocabulary(it)
    v = prune_vocabulary(v, doc_proportion_max = 0.1, term_count_min = 5)
    vectorizer = vocab_vectorizer(v)

    doc_set_1 =padron
    it1 = itoken(doc_set_1$vias, progressbar = FALSE)
    doc_set_2 = catastro
    it2 = itoken(doc_set_2$vias, progressbar = FALSE)
    
    #Crea matrices DTM
    dtm1 = create_dtm(it1, vectorizer)
    dim(dtm1)
    dtm2 = create_dtm(it2, vectorizer)
    dim(dtm2)
    
    #Calcula a matriz de similaridades utilizado a distancia de Jaccard
    
    d1_d2_jac_sim = sim2(dtm1, dtm2,"jaccard", norm = "none")

Tratamento estatístico da información

Información xeorreferenciada: Poboación por cuadrículas de 1km2

Tratamento estatístico da información

Información xeorreferenciada: % poboación < 16 anos