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 ...