2013-06-19

Código y datos para las ciencias sociales- Parte 3

En las dos entradas anteriores vimos una introducción del manual Code and Data for the Social Sciences: A Practitioner’s Guide y la parte dedicada a automatizar y control de versiones. Continuamos con el capítulo dedicado a la organización de los directorios.

Capítulo 3- Directorios

Enumeran 3 reglas:

1. Separa los directorios por función
2. Separa los ficheros en entradas y salidas
3. Haz los directorios portátiles

Nos proponen el siguiente ejemplo:


Hay dos directorios principales. Uno contiene el código para construir un archivo de datos para Stata a partir de unas entradas sin procesar (/entrada). El otro contiene código para convertir el fichero para Stata (tvdatos.dta) en números y tablas para nuestro estudio (num.1.eps, num2.eps, tablas.txt).

Dentro de cada directorio hay una estructura consistente de subdirectorios que separa: entradas, salidas, código y archivos temporales (/temp) o intermedios. Cada directorio es controlado por una única secuencia de comandos (ejecutardirectorio.bat) que lo ejecuta de principio a fin.

Así, es fácil modificar los datos de origen sin alterar el análisis y viceversa. Por la estructura del directorio está claro que solamente tvdatos.dta es requerido para el código de análisis y tanto patatasfritas.csv como tv.csv están explicitamente designados como archivos temporales.

Es importante señalar que obtenerentrada.bat copia tvdatos.dta de C:/origen/salida a C:/analisis/entrada. ¿Por qué no hacer que regresiones.do cargue los datos directamente de C:/origen/salida? Hay tres razones. La primera que es que al separar los directorios por función permite a cualquier usuario no familiarizado con ellos determinar inmediatamente las entradas requeridas por cada directorio, sin tener que entrar en el código para averiguar todos ficheros que se utilizan.

La segunda ventaja es que el tener una copia separada de tvdatos.dta hace posible modificar el código en C:/origen sin cambiar instantáneamente el comportamiento del código en C:/analisis

La tercera, y quizá mayor ventaja, es que el código en regresiones.do puede tener rutas relativas ../entrada/tvdatos.dta en lugar de absolutas C:/origen/salida/tvdatos.dta. Lo cual hace el directorio portátil y ejecutable en cualquier ordenador sin tener que modificar las rutas.

Además, al organizar el código en directorios modulares separados por función, la salida de datos de C:/origen es accesible desde cualquier directorio por varios proyectos que usen los mismos datos sin crear copias redundantes. También es más fácil y rápido depurar el código al estar separado por función.

No hay comentarios:

Publicar un comentario

Nube de datos