Automatización de procesos en la Estadística Pública con R



Documentos relacionados
App para realizar consultas al Sistema de Información Estadística de Castilla y León

Internet Information Server

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir

Una vez que tengamos el padrón de un determinado tributo con todos sus datos actualizados, podemos generar los recibos de ese padrón.

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

15 CORREO WEB CORREO WEB

MANUAL DE AYUDA MODULO TALLAS Y COLORES

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Manual para la utilización de PrestaShop

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Capítulo 9. Archivos de sintaxis

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUÍA DE USO DE LA PLATAFORMA DE FORMACIÓN

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

AGREGAR COMPONENTES ADICIONALES DE WINDOWS

ing Solution La forma más efectiva de llegar a sus clientes.

Ajustes del Curso en egela (Moodle 2.5)

QUÉ ES UN SERVIDOR Y CUÁLES SON LOS PRINCIPALES TIPOS DE SERVIDORES? (PROXY, DNS, WEB, FTP, SMTP, ETC.) (DV00408A)

Edición de Ofertas Excel Manual de Usuario

GedicoPDA: software de preventa

Realización y corrección automática de exámenes con hoja de cálculo

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

1 Itinerario. 2 Descripción y funcionalidades principales. Google Docs. 1.1 Qué vamos a hacer? 1.2 Qué pasos vamos a seguir?

UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid

GUÍA RED SOCIAL FACEBOOK

Gestión de Retales WhitePaper Noviembre de 2009

GESTIÓN DE VISADO TELEMÁTICO Manual de usuario Web (rev 1.1)

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

El cuadro de mando contiene indicadores e informes que deben actualizarse a partir de la información de su sistema informático.

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

GENERACIÓN DE TRANSFERENCIAS

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

Actualmente existen dos maneras de enviar y publicar las estadísticas en la página web de la Federación Española de Baloncesto:

Instalación del programa PSPP y obtención de una distribución de frecuencias.

INFORMÁTICA IE. Términos a conocer y conceptos básicos. World Wide Web (WWW):

1.- DESCRIPCIÓN Y UTILIDAD DEL SOFTWARE DAEMON TOOLS.

INSTRUCCIONES PARA EL SEGUIMIENTO DE ENCUESTAS LIMESURVEY

Análisis de los datos

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

UNIVERSIDAD DE SALAMANCA

CASO PRÁCTICO. ANÁLISIS DE DATOS EN TABLAS DINÁMICAS

Manual de usuario de Parda Programa de Almacenamiento y Recuperación de Datos Automático

- MANUAL DE USUARIO -

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

MANUAL BASICO DE WEBEX

El almacén: sistema de archivos

Hostaliawhitepapers. Las ventajas de los Servidores dedicados. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Reporte inicial. Metodología

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

GENERACIÓN DE ANTICIPOS DE CRÉDITO

ING. YIM APESTEGUI FLORENTINO

hay alguien ahi? por Marcelino Alvarez

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

MANUAL COPIAS DE SEGURIDAD

LiLa Portal Guía para profesores

Control de objetivos y alertas mediante Tablas Dinámicas

Unidad Didáctica 12. La publicación

Traslado de Copias y Presentación de Escritos. Manual de Usuario V.3.1

MANUAL DE AYUDA. MODULO SAT (Anexo Integración AGIL SAT)

ICARO MANUAL DE LA EMPRESA

El programa Minitab: breve introducción a su funcionamiento. Para mostrar la facilidad con la que se pueden realizar los gráficos y cálculos

2. Seleccione OneDrive en la parte superior de los sitios de SharePoint u Office 365 de su organización.

EL PROGRAMA DE PRESENTACIONES IMPRESS (I)

Impress : Programa de presentaciones de OpenOffice.

Hot Potatoes, aplicaciones educativas

PLATAFORMA DE VISADO TELEMÁTICO.

Gracias a ese IP único que tiene cada ordenador conectado a la red de internet se pueden identificar y comunicar los ordenadores.

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

Manual de Usuario Sitio Dinámico e-ducativa Versión

Curso Excel Básico - Intermedio

ADT CONSULTING S.L. PROYECTO DE DIFUSIÓN DE BUENAS PRÁCTICAS

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Resumen ÁREA DE FACTURACIÓN::INFORMES::Pedidos Detalle Resumen ÁREA DE

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

Sitios remotos. Configurar un Sitio Remoto

Roberto Quejido Cañamero

WINDOWS : COPIAS DE SEGURIDAD

TEMA 3: EN QUÉ CONSISTE?

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

Tutorial: Primeros Pasos con Subversion

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

TPVFÁCIL. Caja Real. Definiciones.

GUÍA DE USUARIO: GOOGLE DRIVE

CÓMO ENVIAR DOCUMENTOS POR INTERNET DE FORMA SEGURA

Servicio de Informática

HERRAMIENTA DE FORMACIÓN

Sistema de Facturación de Ventas WhitePaper Enero de 2007

Capítulo 4. Requisitos del modelo para la mejora de la calidad de código fuente

Información destacada para Coordinadores TIC sobre el Portal Educamadrid

T3-Rondas V 1.1. Help-Pc, S.L. C/ Pintor Pau Roig, 39 L Premià de Mar Barcelona Tel. (93) Fax marketing@t2app.

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005

Transcripción:

Automatización de procesos en la Estadística Pública con R Díez Lázaro, Olga dielazol@jcyl.es Pinar Izquierdo, Verónica pinizqve@jcyl.es Rodríguez Rodríguez, Jesús Mª rodrodje@jcyl.es Dirección General de Estadística de la Junta de Castilla y León Resumen: En el marco de la Estadística Pública hay una serie de procesos que pueden ser automatizados sin necesidad de recurrir a software caro. Aunque hay muchos programas que permiten realizar esto, R tiene una serie de ventajas como son su carácter de software libre y gratuito, su orientación a la realización de cálculos estadísticos, la cantidad de librerías que existen, sus capacidades gráficas, A pesar de lo anterior para ciertos trabajos ha sido necesaria la creación de programas específicos para ciertos procesos, los cuales son de gran utilidad para agilizar y automatizar los mismos. En esta ponencia se hará una breve descripción de donde se está utilizando en la Dirección General de Estadística de Castilla y León, así como campos en los que se está trabajando. Palabras clave: automatización, software libre, estadística pública.

Introducción En la Estadística en general y en particular la Estadística Pública la utilización del ordenador es algo imprescindible y esta presente en prácticamente todos los procesos que se realizan. El Software Estadístico y los programas ofimáticos (procesadores de texto, hojas de cálculo y bases de datos principalmente) son nuestras herramientas de trabajo, herramientas que en algunos casos están subutilizadas, ya que en general nos ofrecen más posibilidades de las que realmente empleamos, lo cual es debido a diversas circunstancias: falta de conocimiento, falta de tiempo para la programación, En esta ponencia vamos a hablar de como se puede utilizar una de dichas herramientas, R, para automatizar ciertos procesos, lo que hace que se pueda lograr mayor productividad. En la Dirección General de Estadística de la Junta de Castilla y León se utiliza R en para la realización de algunos procesos, que se pueden clasificar de la forma siguiente: Obtención de los datos Depuración, validación, transformación, Procesos estadísticos Difusión de resultados En cada uno de los anteriores se usan distintos tipos de software, dependiendo de si está ya automatizado o no el proceso o de las preferencias de las personas que los realizan. Hay que tener en cuenta que el software en si mismo puede ser bueno o malo, pero lo que le hace bueno o malo para algo es la forma de utilizarlo y esto depende mucho de las personas, en general, y para los trabajos que se realizan habitualmente en las oficinas estadísticas hay gran cantidad de programas utilizables y probablemente con todos se puedan lograr los mismos resultados y en el mismo tiempo. Siendo cierto que R está diseñado para su uso por personas expertas, es posible, sin demasiado esfuerzo, preparar aplicaciones en las que los usuarios finales no tengan que conocer nada de programación, e incluso la utilización de R se puede hacer transparente, por lo que se pueden tener aplicaciones tan buenas como las que se tienen con otros programas. Obtención de datos La flexibilidad de R para leer datos de muchos tipos lo hace especialmente interesante para la obtención de datos. Una de sus ventajas es la capacidad de leer ficheros directamente de Internet, posibilidad que se ha empleado para automatizar la carga de ficheros, fundamentalmente cuando se trata de descargar muchos, que a mano sería bastante pesado. Como primer ejemplo veamos el programa que se ha desarrollado para descargar los datos de comercio exterior que la Agencia Tributaria pone en su página web. Estos ficheros son 10 y tanto su nombre como su dirección están normalizados, por lo que es fácil hacer un programa genérico que nos sirva para este propósito. El programa se desarrolló inicialmente utilizando la instrucción system llamando a Internet Explorer, programa muy sencillo, pero con algunos inconvenientes. Como auxiliar tenía un fichero con los nombres de los ficheros a descargar: 2

# leer ficheros de la agencia tributaria direc=readlines("aeatce.txt") for (d1 in direc){ system(paste("\"c:/archivos de programa/internet Explorer/iexplore.exe\"",d1)) } Con un poco más de trabajo, no más de una hora, se desarrolló un programa más completo, que no necesita la intervención del usuario para cada fichero. Una vez desarrollado se preparó un cuadro de diálogo, de forma que el usuario lo pueda utilizar de una forma más cómoda, para esta mejora se han empleado el paquete gwidgets, en particular utilizando tcltk. De esta forma la intervención del usuario es exclusivamente para elegir el mes, el año y donde guardar los ficheros. Los ficheros se guardan en formato zip, tal y como se obtienen, aunque es posible con una linea más guardarlos ya descomprimidos. A mayores se ha creado un fichero bat que permite la utilización del programa de forma transparente, es decir que no hace falta iniciar R y mandar ejecutar el programa. Este tipo de acciones permite la utilización por usuarios que no saben manejar R. El contenido del fichero es: G:\Comun_Estadistica\R\bin\Rcmd.exe BATCH pruebadialogo.r Donde pruebadialogo.r es el fichero que contiene el programa La modificación del programa para descargar de otros sitios sólo requiere el conocimiento de la dirección y la estructura de los nombres de los ficheros o un listado de ellos. Este programa puede no funcionar cuando se utiliza a través de un proxy. En ese caso hay que buscar la solución a través de setinternet2, o mezclar el código del primero (usando system ) con el de esta ampliación, pero existe la incomodidad de tener que confirmar la lectura de cada fichero. Otro tipo de ficheros que habitualmente nos encontramos con datos estadísticos son los de pcaxis, aunque el programa para trabajar con ellos es gratuito y bastante bueno para su tratamiento, estamos desarrollando las funciones en R necesarias para leerlos y transformarlos en otros tipos de forma automática. Estas rutinas junto con el programa antes comentado podría permitir descargas masivas de datos de una forma fácil. 3

Depuración, validación, transformación, Para la realización de este tipo de procesos R nos ofrece herramientas fáciles de manejar y, lo que para nosotros es muy importante, flexibles. En el sistema actual para la codificación de la causa de muerte, la Dirección General de Estadística ha optado por el trabajo off line, es decir que bajamos los ficheros de la página, utilizamos nuestras herramientas para la codificación y posteriormente los volvemos a subir, previa la validación. Para el proceso de la codificación se ha desarrollado un programa en Java que permite realizar el trabajo de forma fácil, pero se optó por que dicho programa no trabajara con la totalidad del fichero, si no sólo con lo necesario, y además de forma que estuviera en un fichero de texto legible directamente. Para la transformación de los ficheros bajados se han realizado dos programas en R que permiten la transformación de los ficheros al formato del programa y la recuperación de los datos tratados al formato original ya preparado para subir al INE, habiendo implementado en el segundo de ellos algunos procesos de validación, que nos permiten sacar listados de los boletines con algún tipo de error. La utilización de R ha hecho que el desarrollo sea rápido y además muy flexible antes posibles cambios de formato. Ambos programas están dotados de un simple cuadro de diálogo que permite seleccionar uno o varios ficheros a tratar, con lo que el proceso de varios ficheros, por ejemplo todos los de un mes (9 en nuestro caso) está totalmente automatizado. El programa es muy sencillo y el cuadro sale con la instrucción 'choose.files()' Además se ha hecho un fichero '.bat' que hace transparente la utilización de R. Otro de las utilizaciones de R tiene que ver con el SPSS, ya que aunque en general solicitamos que los resultados de las encuestas nos los proporcionen en Excel, a veces las empresas trabajan con SPSS y en el paso a Excel se puede perder información, pero si los datos están en SPSS, el leerlos con R (paquete foreign) proporciona en la misma lectura información sobre posibles malas codificaciones, además de recoger gran parte de la información que hay en dichos ficheros, lo que nos permite una mejor posibilidad de depuración. 4

Procesos estadísticos Aunque una de los grandes potenciales de R son los cálculos estadísticos, existen paquetes para casi cualquier cosa, la utilización en este aspecto no es tan grande como podría ser, debido también a que no todo el personal maneja este programa. Últimamente se ha utilizado para los cálculos de tamaño muestral cuando el diseño es complejo. Par ello se utiliza la capacidad de acceso a la base de datos de Oracle, lo que posibilita que en el mismo programa se calculen los tamaños de población y tamaños muestrales, automatizando el proceso, ya que cambiando solamente la fecha de referencia y los parámetros de la muestra (que suelen ser pocos), el programa realiza los cálculos y proporciona los resultados, incluso comparando diversos esquemas de muestreo: El programa para esto sólo se basa en el paquete RODBC, mediante el que se conecta con Oracle. La salida que se ha puesto antes corresponde a la importación en Excel del fichero de resultados del programa. Los parámetros que se necesitan tocar en este programa son: Tamaño de la muestra, intervalos de población y año. La utilización de otros paquetes (survey, memisc, ), puede proporcionar otro tipo de ayudas, fundamentalmente en el procesamiento de los resultados de las encuestas, aunque de momento no los hemos utilizado. Relacionado también con el muestreo, aunque en este caso para poder seleccionar una muestra de municipios de forma más cómoda, se ha diseñado un programa que permite identificar los municipios que estando próximos a uno dado, tienen características similares al mismo. En una primera fase sólo se ha introducido como variable para esta similitud el tamaño de la población, aunque se están estudiando otras posibilidades. El programa nos pide a través de un cuadro de diálogo la identificación del municipio, mostrándonos su población y permitiendo escribir los tamaños mínimo y máximo de población 5

de los municipios a buscar. El programa nos da la lista de municipios y un mapa de los mismos: 6

Difusión de resultados (Gráficos, Informes, Páginas web) En este tipo de procesos es donde más estamos utilizando esta herramienta, ya que sus posibilidades gráficas superan a otros programas. En cuanto a gráficos son los mapas temáticos una de las cosas que realizamos esclusivamente con R. En su día se desarrolló un programa, que utiliza la librería splancs, y se preparo un fichero de datos (mapas.rdata) con los perfiles municipales y provinciales, con estas dos cosas y de forma muy fácil se realizan dichos mapas. En el programa se han definido una serie de funciones entre las que destaca plot.mapa, ya que es la que se utiliza para dibujar, pasándola simplemente el mapa, una variable de clase mapa, la variable a utilizar, en la que names serán los códigos o los nombres de las áreas, y los demás parámetros que se necesiten (todos ellos tienen valores por defecto). Por la forma de hacerlo la instrucción a realizar puede ser tan simple como: plot(mapa, variable=var1) Los mapas disponibles son objetos de clase mapa, por lo que no es necesario escribir plot.mapa. 7

Esta aplicación la hemos usado durante años para la elaboración de los mapas que aparecen en el Anuario Estadístico, así como en otras publicaciones y trabajos. En la actualidad se está mejorando esta aplicación, incorporando las posibilidades que aportan paquetes como maptools o PBSMapping, Aunque R no se caracteriza por la interactividad en los gráficos, en la aplicación anterior se incorpora una rutina localizar, que permite identificar los municipios de forma interactiva, sobre el mismo gráfico. Otro ejemplo en el que el uso de R nos ha permitido automatizar cálculos y procesos, es la realización de un estudio que tiene como objetivo la identificación de cluster de municipios, de forma que se puedan caracterizar dichas zonas tomando como base las variables disponibles a nivel municipal. Entre los trabajos que se están realizando se incluye un análisis factorial con el objetivo de identificar factores subyacentes a grupos de variables. R se ha utilizado intensamente en esta parte, utilizando en este caso, además de los paquetes para los cálculos (SensoMineR) y de paquetes mencionados anteriormente para la realización de mapas (maptools) y para la obtención de los datos de bases de datos habituales (RODBC), el paquete R2HTML, que nos permite obtener rápidamente un informe en formato HTML, que aunque queda correctamente formateado, posibilita un fácil transporte de tablas y gráficos a otras aplicaciones (por ejemplo Excel). Una vez realizados los cálculos las instrucciones para realizar el informe son: HTMLStart("resultados1",HTMLframe=FALSE) HTMLInsertGraph("DGE color 3.png",GraphBorder=0,Align="left", WidthHTML=150) HTML.title("ESTUDIOS DE AREAS ESPECIALES",HR=1) HTML.title("Variables que se incluyen en el Análisis",HR=2) HTML(format(varConsiderarEcon,justify="left")) HTML.title("Coordenadas Principales",HR=2) de las Variables al hacer un Análisis de Componentes HTML(res3) HTML.title("Coordenadas de las variables después de una rotación varimax",hr=2) HTML(ncoord$loadings,cutoff=0.5) HTMLInsertGraph("salida_PCA_1.png") HTMLInsertGraph("salida_PCA_2.png") plot(municipios,border="salmon3") plot(municipios,border="salmon3",col=colorplot[rownames(datosm5000)],add=true) legend("bottomright",legend=paste("grupo",1:4),fill=color1) plot(provincias,lwd=2,add=true) title("castilla y León") HTMLplot() HTMLStop() Hay que darse cuenta de la utilización de dos formas diferentes de inclusión de gráficos en la página web que obtiene como resultado. En unos casos se utiliza la función 8

HTMLInsertGraph, que permite la inclusión de gráficos guardados en ficheros, y en otros simplemente la instrucción plot, que realiza el gráfico y le incluye directamente, creando para ello un fichero con el gráfico. Se ha utilizado el primer método para gráficos que se realizan con funciones diseñadas al efecto y que realizan gráficos de forma no estandar, o para la inclusión de gráficos existentes, por ejemplo el logo. La salida obtenida es: 9

10

Esta salida se obtiene en HTML, pero es posible obtener los informes en otras formas, más adecuadas para su publicación impresa o para su edición, en particular el paquete odfweave, y la función Sweave sirven para generar informes en el formato de OpenOffice y en Latex respectivamente. Para salidas en HTML existen más paquetes, entre los que podemos destacar hwriter que da más control sobre las salidas, ya que entre otras cosas es posible crear tablas de gráficos o mezclando gráficos y texto, así como la inclusión de enlaces en las páginas que realicemos. Dentro de los paquetes para la construcción de páginas web desde R, hay que hacer mención a Rpad, que de momento no se está utilizando en esta Dirección General, pero que, a diferencia de los anteriores, las páginas obtenidas son interactivas, permitiendo la ejecución de programas prediseñados o incluso de programas que se escriben en la misma página web. 11

Otra de las aplicaciones disponibles para la realización de páginas interactivas con R es rapache, que actualmente sólo está disponible para su uso en Linux. La siguiente imagen muestra http://rweb.stat.ucla.edu/. una utilización de este software en la página 12