horaciochacon/ENDES.PE

especificar extensión .sav en str_detect

avallecam opened this issue · 0 comments

hola horacio,

reporto error en descarga para archivos 2019

ENDES.PE::consulta_endes(periodo = 2019,codigo_modulo = "64",base = "RECH0")
probando la URL 'http://iinei.inei.gob.pe/iinei/srienaho/descarga/SPSS/691-modulo64.zip'
Content type 'application/x-zip-compressed' length 5324747 bytes (5.1 MB)
downloaded 5.1 MB

Error: This kind of input is not handled

la causa está en que los diccionarios de las bases del módulo "64" del año 2019 incluyen también el nombre de las bases.

ver aquí para 2019:

> ENDES.PE::archivos_endes(periodo=2019, codigo_modulo="64")
probando la URL 'http://iinei.inei.gob.pe/iinei/srienaho/descarga/SPSS/691-modulo64.zip'
Content type 'application/x-zip-compressed' length 5324747 bytes (5.1 MB)
downloaded 5.1 MB

                                    Name   Length                Date
1         Modulo64/CuestionarioHogar.pdf  1184747 2019-03-08 20:00:00
2  Modulo64/DiccionarioHogar - RECH0.pdf   131190 2020-06-02 17:52:00
3  Modulo64/DiccionarioHogar - RECH1.pdf   130787 2020-06-02 17:49:00
4  Modulo64/DiccionarioHogar - RECH4.pdf   124865 2020-06-02 17:53:00
5  Modulo64/DiccionarioHogar - RECHM.pdf   102550 2020-06-02 17:55:00
6              Modulo64/FichaTecnica.pdf   776940 2020-06-02 15:01:00
7                     Modulo64/RECH0.SAV  7196426 2020-04-30 00:15:00
8                     Modulo64/RECH1.sav 10357707 2020-04-30 00:16:00
9                     Modulo64/RECH4.sav  6748794 2020-04-30 00:17:00
10                    Modulo64/RECHM.sav   113490 2020-04-30 00:33:00

ver aquí para 2017:

ENDES.PE::archivos_endes(periodo=2017, codigo_modulo="64")
probando la URL 'http://iinei.inei.gob.pe/iinei/srienaho/descarga/SPSS/605-modulo64.zip'
Content type 'application/x-zip-compressed' length 4225214 bytes (4.0 MB)
downloaded 4.0 MB

                                Name  Length                Date
1                      605-Modulo64/       0 2019-03-29 11:54:00
2 605-Modulo64/CuestionarioHogar.pdf  745288 2018-05-15 10:04:00
3  605-Modulo64/DiccionarioHogar.pdf  196622 2018-05-15 10:00:00
4      605-Modulo64/FichaTecnica.pdf  595481 2018-05-15 10:03:00
5             605-Modulo64/RECH0.SAV 6903205 2019-03-28 16:53:00
6             605-Modulo64/RECH1.SAV 9008086 2018-01-29 14:23:00
7             605-Modulo64/RECH4.SAV 5347509 2018-01-29 14:20:00

mi propuesta de solución está en especificar la extensión .sav en el str_detect() aquí:

archivos <- archivos[stringr::str_detect(archivos$Name, paste0(base,"\\.")) == TRUE,]

ya que al correr el contenido de la función por dentro, para el 2019 filtra tanto el PDF como el SAV

archivos
                                   Name   Length                Date
3 Modulo64/DiccionarioHogar - RECH1.pdf   130787 2020-06-02 17:49:00
8                    Modulo64/RECH1.sav 10357707 2020-04-30 00:16:00

replicando el error:

> haven::read_sav(utils::unzip(temp, files = archivos$Name, 
+                                           exdir = tempdir), 
+                              encoding = codificacion)
Error: This kind of input is not handled

me avisas si prefieres corregirlo tú o hago un pull request directo. de paso puedo aprovechar para aplicarlo a las funciones enaho de forma preventiva y agregar identificadores 2020 si es que están disponibles.

PS, ¡la web y hexagon del paquete están geniales! felicidades por sumarle los componentes de integración continua al paquete :)