Last active
February 20, 2017 15:53
-
-
Save viciana/e1c94c8080a02c4a8a847f4f124ba9ae to your computer and use it in GitHub Desktop.
Lectura de cubo OLAP 226 de la publicacion: Estadísticas Longitudinales de Supervivencia y Longevidad en Andalucía
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Descarga y preparación de los datos del cubo OLAP en formato pcAxis, | |
# cuyo enlace se encuentra en la parte inferior izquierda de las paginas | |
# de tabulaciones de: "Estadísticas Longitudinales de Supervivencia y Longevidad en Andalucía" | |
# http://www.juntadeandalucia.es/institutodeestadisticaycartografia/consultasActividad.jsp?CodOper=660&sub=50517 | |
# install.packages('pxR') | |
require(pxR) # activar paquete de lectura de ficheros px-Axis | |
if (! dir.exists('datos') ) dir.create('datos') | |
download.file('http://www.juntadeandalucia.es/institutodeestadisticaycartografia/longevidad/pcaxis/consulta226.zip', destfile = 'datos/consulta226.zip') | |
unzip('datos/consulta226.zip', list = T) # Lista nombre de fichero | |
## La nomeclatura de los nombre de fichero es "D" para defunciones "P" para | |
## pesonas-tiempo. 1: Hombres, 6: Mujeres y 9: ambos sexos | |
## ----- | |
## Extrae datos de Hombres y Mujeres (no los totales) | |
unzip('datos/consulta226.zip', exdir = './datos/', | |
files = c("CUBO5_D1.px","CUBO5_D6.px", | |
"CUBO5_P1.px","CUBO5_P6.px")) | |
read.px('datos/CUBO5_D1.px')-> D1 | |
read.px('datos/CUBO5_P1.px')-> P1 | |
read.px('datos/CUBO5_D6.px')-> D6 | |
read.px('datos/CUBO5_P6.px')-> P6 | |
## Alguna metainformacion del objeto: | |
D1$DESCRIPTION | |
D1$UNITS # [1] "número de fallecidos" | |
P1$UNITS # [1] "Personas-año de exposición a riesgo" | |
names(D1$DATA$value) # variable del objeto: | |
# "PMDS" "EDAD" "NACIONALIDAD" "ESTUDIOS" "TENEN" "value" | |
##----------------------------------------------------------------- | |
## EDICION DE DATOS: | |
##----------------------------------------------------------------- | |
require(data.table) ## Por rapidez | |
as.data.table(as.data.frame(D1))-> D1 | |
as.data.table(as.data.frame(D6))-> D6 | |
as.data.table(as.data.frame(P1))-> P1 | |
as.data.table(as.data.frame(P6))-> P6 | |
## Etiquetamos cada sexo y unimos eventos y personas-año en una sola tabla | |
D1$SEXO <- P1$SEXO <- 'Hombres' | |
D6$SEXO <- P6$SEXO <- 'Mujeres' | |
D16 <- rbind(D1,D6) | |
P16 <- rbind(P1,P6) | |
setnames(D16,'value', 'Defunciones') # Defunciones | |
setnames(P16,'value', 'PYear') # Personas-año | |
## | |
rm(D1,D6,P1,P6) # libera memoria | |
comunes <- intersect(names(D16), names(P16)) | |
dpy <- merge(D16,P16, by= comunes) | |
dpy$SEXO <- factor(dpy$SEXO) ## Factoriza categoria sexo | |
rm(D16,P16,comunes) # libera memoria | |
str(dpy) | |
## PMDS : Corresponde a los códigos de seccion que se construyen con: | |
## 2 digistos de código provincial, 3 de código Municipal, 2 de distrito y 3 de sección | |
## EDAD : Grupo quinquenal de edad a lo largo del periodo de seguimiento (variable tiempo-variable) | |
## TENEN : variable "propiedad de vivienda de residencia" en el censo de 2001 | |
## PYear : Personas-año de exposición a riesgo en cada categoría | |
## | |
## Las demas variables son auto-explicativas | |
save(dpy,file='dpy.RData') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment