install.packages("pxR", repos="http://R-Forge.R-project.org") require(pxR) # Población por sexo, municipios y edad (grupos quinquenales). lugares <- c('http://www.ine.es/pcaxisdl//t20/e245/p05/a2014/l0/00004001.px', 'http://www.ine.es/pcaxisdl//t20/e245/p05/a2013/l0/00004001.px', 'http://www.ine.es/pcaxisdl//t20/e245/p05/a2012/l0/00004001.px', 'http://www.ine.es/pcaxisdl//t20/e245/p05/a2011/l0/00004001.px' ) names(lugares) <- c(2014:2011) ## descargando en una lista lista.datos = list() c <- 0 for(i in lugares) { c <- c+1 print(año <- as.integer(names(lugares[c]))) print(i) dato <- as.data.frame(read.px(i)) dato$año <- año sum(dato$municipio=='Total') lista.datos <- c(lista.datos,list(dato)) } # comprobando si estructuras encajan: str(lista.datos) # List of 4 # $ :'data.frame': 6798 obs. of 5 variables: # ..$ edad..grupos.quinquenales.: Factor w/ 22 levels "Total","0-4",..: 1 2 3 4 5 6 7 8 9 10 ... # ..$ municipios : Factor w/ 103 levels "Total","04001-Abla",..: 1 1 1 1 1 1 1 1 1 1 ... # ..$ sexo : Factor w/ 3 levels "Ambos sexos",..: 1 1 1 1 1 1 1 1 1 1 ... # ..$ value : num [1:6798] 701688 40631 42228 37465 36787 ... # ..$ año : int [1:6798] 2014 2014 2014 2014 2014 2014 2014 2014 2014 2014 ... # $ :'data.frame': 6798 obs. of 5 variables: # ..$ edad..grupos.quinquenales.: Factor w/ 22 levels "Total","0-4",..: 1 2 3 4 5 6 7 8 9 10 ... # ..$ municipios : Factor w/ 103 levels "Total","04001-Abla",..: 1 1 1 1 1 1 1 1 1 1 ... # ..$ sexo : Factor w/ 3 levels "Ambos sexos",..: 1 1 1 1 1 1 1 1 1 1 ... # ..$ value : num [1:6798] 699329 41471 40617 37060 37097 ... # ..$ año : int [1:6798] 2013 2013 2013 2013 2013 2013 2013 2013 2013 2013 ... # $ :'data.frame': 6798 obs. of 5 variables: # ..$ edad..grupos.quinquenales.: Factor w/ 22 levels "Total","0-4",..: 1 2 3 4 5 6 7 8 9 10 ... # ..$ municipios : Factor w/ 103 levels "Total","04001-Abla",..: 1 1 1 1 1 1 1 1 1 1 ... # ..$ sexo : Factor w/ 3 levels "Ambos sexos",..: 1 1 1 1 1 1 1 1 1 1 ... # ..$ value : num [1:6798] 704219 41693 39895 37340 38313 ... # ..$ año : int [1:6798] 2012 2012 2012 2012 2012 2012 2012 2012 2012 2012 ... # $ :'data.frame': 6798 obs. of 5 variables: # ..$ edad..grupos.quinquenales.: Factor w/ 22 levels "Total","0-4",..: 1 2 3 4 5 6 7 8 9 10 ... # ..$ municipios : Factor w/ 103 levels "Total","04001-Abla",..: 1 1 1 1 1 1 1 1 1 1 ... # ..$ sexo : Factor w/ 3 levels "Ambos sexos",..: 1 1 1 1 1 1 1 1 1 1 ... # ..$ value : num [1:6798] 702819 42122 38712 36805 38955 ... # ..$ año : int [1:6798] 2011 2011 2011 2011 2011 2011 2011 2011 2011 2011 ... ## Agregando en un solo objeto serie <- subset(dato,FALSE) # preparo contenedor for (i in lista.datos) { serie <- rbind(serie,i) } str(serie) # 'data.frame': 27192 obs. of 5 variables: # $ edad..grupos.quinquenales.: Factor w/ 22 levels "Total","0-4",..: 1 2 3 4 5 6 7 8 9 10 ... # $ municipios : Factor w/ 103 levels "Total","04001-Abla",..: 1 1 1 1 1 1 1 1 1 1 ... # $ sexo : Factor w/ 3 levels "Ambos sexos",..: 1 1 1 1 1 1 1 1 1 1 ... # $ value : num 701688 40631 42228 37465 36787 ... # $ año : int 2014 2014 2014 2014 2014 2014 2014 2014 2014 2014 ...