data-raw/errores_muestrales.R

# install.packages('tabulizer')

library(tabulizer)
library(tidyverse)
library(stringr)

#### -creacion de raw_tables_2003.03_2014.02-####
path <- "https://www.indec.gob.ar/ftp/cuadros/menusuperior/eph/EPH_errores_muestreo.pdf"

# extract_areas(path)

# la siguiente lista es el dput() de la selección manual de tablas con extract_areas(path)
raw_tables_2003.03_2014.02 <- list(
  structure(c(
    "", "", "", "ERRORES DE MUESTREO EN LA ESTIMACIÓN DE TOTALES DE",
    "PERSONAS A PARTIR DE UNA BASE TRIMESTRAL", "(Vigente desde el tercer trimestre de 2003 al segundo trimestre de 2014)",
    "", "", "Al analizar las estimaciones provenientes de una muestra se debe tener presente que",
    "las  mismas están  afectadas por  el  llamado error  muestral y  que  es  importante",
    "conocer aproximadamente la magnitud de esos errores. Una medida de los mismos",
    "está dada por el desvío estándar (DS).", "", "Con el desvío estándar el usuario puede construir un intervalo numérico que tiene una",
    "cierta confianza, medida en términos de probabilidad, de contener el valor verdadero",
    "que se desea estimar.", "", "La  teoría  del  muestreo  indica  que,  con  una  confianza  del  90%,  el  intervalo",
    "comprendido entre la estimación menos 1.64 veces el desvío estándar y la estimación",
    "más 1.64 veces el desvío estándar contiene el valor verdadero que se desea estimar.",
    "Es por eso que a este intervalo se lo denomina “Intervalo de Confianza del 90%”.",
    "", "Si deseamos un Intervalo de Confianza del 95%, deberemos hacer",
    "", "", "Estimación +/- 1.96 veces el desvío estándar", "",
    "", "Con el desvío estándar se puede calcular también el Coeficiente de Variación (CV),",
    "efectuando el cociente entre el desvío estándar de una estimación y esa estimación.",
    "En porcentaje, el CV es", "", "CV = 100*DS / Estimación", "",
    "El coeficiente de variación brinda una idea de la precisión de la estimación, o sea la",
    "relación entre el desvío estándar y el valor a estimar. Cuanto más pequeño es el",
    "coeficiente de variación, más precisa es la estimación. Si bien corresponde al usuario",
    "determinar si un dato con cierto coeficiente de variación le es útil o no para su objetivo,",
    "de acuerdo con el grado de precisión requerido, se advierte que cifras con coeficiente",
    "de variación superiores al 20% deben ser tratadas con precaución.",
    "", "", "Aproximación del desvío de subtotales poblacionales",
    "", "Para aproximar el desvío de la estimación del total de una subpoblación de",
    "interés, a partir de una base trimestral, debe recurrirse a las tablas de errores de",
    "muestreo.", "", "Las tablas de errores no se refieren a un trimestre en particular, sino que pueden",
    "usarse cualquiera sea el trimestre para el que se quiere inferir.",
    "", "", "Las tablas de errores de muestreo contienen la siguiente información:",
    "", "• Estimación del total de personas con una característica determinada",
    "Hoja 1 de 36", "Noviembre de 2015"
  ), .Dim = c(57L, 1L)), structure(c(
    "",
    "", "", "• Desvío estándar de la estimación", "", "• Coeficiente de variación de la estimación (en porcentaje)=100*DS(X) / X",
    "", "Ejemplo:", "", "Supongamos que en el Gran Rosario la estimación del total de personas con cierta",
    "característica X es, en cierto trimestre,38,780. Se busca en la tabla de errores",
    "correspondiente a totales trimestrales del dominio al cual se refiere el dato (Gran",
    "Rosario en nuestro caso) la estimación más cercana tabulada, por",
    "Estimación=40,000. A esta estimación le corresponde un DS =5,531. Luego",
    "construye el intervalo de confianza del 90%:", "", "", "Límite Inferior (LI) = 38,780 - (1.64*5,531) = 29,709",
    "", "Límite Superior (LS) = 38,780 + (1.64*5,531) = 47,851",
    "", "", "Esto  significa que  puede afirmarse, con  una  confianza del  90%,  que  el  total",
    "personas con la característica X está entre 29,709 y 47,851.",
    "", "El coeficiente de variación correspondiente es aproximadamente 13.8%.",
    "Hoja 2 de 36", "Noviembre de 2015", "", "", "", "", "", "",
    "", "", "", "", "", "", "ejemplo", "se", "", "", "", "", "",
    "", "", "", "de", "", "", "", "", ""
  ), .Dim = c(28L, 2L)), structure(c(
    "12000",
    "16000", "20000", "24000", "28000", "32000", "36000", "40000",
    "44000", "48000", "52000", "56000", "60000", "70000", "80000",
    "100000", "120000", "140000", "200000", "250000", "300000", "400000",
    "500000", "600000", "800000", "4178", "4824", "5393", "5907",
    "6380", "6820", "7233", "7623", "7995", "8350", "8690", "9017",
    "9333", "10079", "10772", "12039", "13183", "14233", "16991",
    "18978", "20768", "23932", "26702", "29191", "33568", "34,8",
    "30,1", "27,0", "24,6", "22,8", "21,3", "20,1", "19,1", "18,2",
    "17,4", "16,7", "16,1", "15,6", "14,4", "13,5", "12,0", "11,0",
    "10,2", "8,5", "7,6", "6,9", "6,0", "5,3", "4,9", "4,2"
  ), .Dim = c(
    25L,
    3L
  )), structure(c(
    "16000", "20000", "24000", "28000", "32000",
    "36000", "40000", "44000", "48000", "52000", "56000", "60000",
    "70000", "80000", "100000", "120000", "140000", "200000", "250000",
    "300000", "400000", "500000", "600000", "800000", "1000000",
    "1500000", "2000000", "2500000", "6119", "6840", "7492", "8091",
    "8649", "9172", "9666", "10137", "10586", "11016", "11430", "11830",
    "12773", "13649", "15249", "16691", "18015", "21482", "23970",
    "26207", "30142", "33567", "36624", "41949", "46516", "55777",
    "62998", "68823", "38,2", "34,2", "31,2", "28,9", "27,0", "25,5",
    "24,2", "23,0", "22,1", "21,2", "20,4", "19,7", "18,2", "17,1",
    "15,2", "13,9", "12,9", "10,7", "9,6", "8,7", "7,5", "6,7", "6,1",
    "5,2", "4,7", "3,7", "3,1", "2,8"
  ), .Dim = c(28L, 3L)), structure(c(
    "12000",
    "16000", "20000", "24000", "28000", "32000", "36000", "40000",
    "44000", "48000", "52000", "56000", "60000", "70000", "80000",
    "100000", "120000", "140000", "200000", "250000", "300000", "400000",
    "500000", "600000", "3910", "4502", "5020", "5484", "5907", "6297",
    "6660", "7001", "7322", "7625", "7914", "8189", "8452", "9062",
    "9616", "10588", "11418", "12134", "13766", "14669", "15237",
    "15495", "14606", "12322", "32,6", "28,1", "25,1", "22,8", "21,1",
    "19,7", "18,5", "17,5", "16,6", "15,9", "15,2", "14,6", "14,1",
    "12,9", "12,0", "10,6", "9,5", "8,7", "6,9", "5,9", "5,1", "3,9",
    "2,9", "2,1"
  ), .Dim = c(24L, 3L)), structure(c(
    "4000", "6000",
    "8000", "12000", "16000", "20000", "24000", "28000", "32000",
    "36000", "40000", "44000", "48000", "52000", "56000", "60000",
    "70000", "80000", "100000", "120000", "140000", "200000", "1512",
    "1845", "2124", "2584", "2963", "3291", "3580", "3840", "4075",
    "4292", "4491", "4675", "4846", "5005", "5154", "5292", "5601",
    "5862", "6263", "6527", "6669", "6416", "37,8", "30,8", "26,5",
    "21,5", "18,5", "16,5", "14,9", "13,7", "12,7", "11,9", "11,2",
    "10,6", "10,1", "9,6", "9,2", "8,8", "8,0", "7,3", "6,3", "5,4",
    "4,8", "3,2"
  ), .Dim = c(22L, 3L)), structure(c(
    "4000", "6000",
    "8000", "12000", "16000", "20000", "24000", "28000", "32000",
    "36000", "40000", "44000", "48000", "52000", "56000", "60000",
    "70000", "80000", "100000", "120000", "140000", "200000", "250000",
    "300000", "1334", "1631", "1879", "2293", "2637", "2936", "3203",
    "3445", "3667", "3873", "4066", "4246", "4415", "4575", "4727",
    "4871", "5202", "5498", "6001", "6410", "6742", "7369", "7538",
    "7409", "33,4", "27,2", "23,5", "19,1", "16,5", "14,7", "13,3",
    "12,3", "11,5", "10,8", "10,2", "9,6", "9,2", "8,8", "8,4", "8,1",
    "7,4", "6,9", "6,0", "5,3", "4,8", "3,7", "3,0", "2,5"
  ), .Dim = c(
    24L,
    3L
  )), structure(c(
    "6000", "8000", "12000", "16000", "20000",
    "24000", "28000", "32000", "36000", "40000", "44000", "48000",
    "52000", "56000", "60000", "70000", "80000", "100000", "120000",
    "140000", "200000", "250000", "300000", "400000", "500000", "600000",
    "2172", "2506", "3064", "3533", "3943", "4313", "4651", "4964",
    "5256", "5531", "5792", "6040", "6276", "6502", "6719", "7227",
    "7694", "8529", "9262", "9916", "11531", "12585", "13441", "14692",
    "15444", "15770", "36,2", "31,3", "25,5", "22,1", "19,7", "18,0",
    "16,6", "15,5", "14,6", "13,8", "13,2", "12,6", "12,1", "11,6",
    "11,2", "10,3", "9,6", "8,5", "7,7", "7,1", "5,8", "5,0", "4,5",
    "3,7", "3,1", "2,6"
  ), .Dim = c(26L, 3L)), structure(c(
    "4000",
    "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "100000", "120000", "140000", "1175",
    "1433", "1649", "2005", "2297", "2548", "2770", "2968", "3147",
    "3311", "3461", "3599", "3727", "3845", "3955", "4056", "4279",
    "4463", "4729", "4879", "4923", "29,4", "23,9", "20,6", "16,7",
    "14,4", "12,7", "11,5", "10,6", "9,8", "9,2", "8,7", "8,2", "7,8",
    "7,4", "7,1", "6,8", "6,1", "5,6", "4,7", "4,1", "3,5"
  ), .Dim = c(
    21L,
    3L
  )), structure(c(
    "4000", "6000", "8000", "12000", "16000", "20000",
    "24000", "28000", "32000", "36000", "40000", "44000", "48000",
    "52000", "56000", "60000", "70000", "80000", "100000", "120000",
    "140000", "200000", "1203", "1468", "1689", "2055", "2356", "2615",
    "2844", "3050", "3236", "3407", "3564", "3709", "3843", "3968",
    "4084", "4193", "4433", "4634", "4939", "5132", "5224", "4927",
    "30,1", "24,5", "21,1", "17,1", "14,7", "13,1", "11,9", "10,9",
    "10,1", "9,5", "8,9", "8,4", "8,0", "7,6", "7,3", "7,0", "6,3",
    "5,8", "4,9", "4,3", "3,7", "2,5"
  ), .Dim = c(22L, 3L)), structure(c(
    "2000",
    "4000", "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "100000", "120000", "140000", "200000",
    "808", "1139", "1392", "1603", "1953", "2243", "2494", "2717",
    "2919", "3103", "3273", "3431", "3578", "3715", "3844", "3966",
    "4080", "4340", "4567", "4939", "5221", "5426", "5656", "40,4",
    "28,5", "23,2", "20,0", "16,3", "14,0", "12,5", "11,3", "10,4",
    "9,7", "9,1", "8,6", "8,1", "7,7", "7,4", "7,1", "6,8", "6,2",
    "5,7", "4,9", "4,4", "3,9", "2,8"
  ), .Dim = c(23L, 3L)), structure(c(
    "2000",
    "4000", "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "629", "883", "1073", "1230", "1484", "1688",
    "1857", "2001", "2125", "2232", "2324", "2404", "2472", "2530",
    "2577", "2615", "2644", "2680", "31,4", "22,1", "17,9", "15,4",
    "12,4", "10,5", "9,3", "8,3", "7,6", "7,0", "6,5", "6,0", "5,6",
    "5,3", "5,0", "4,7", "4,4", "3,8"
  ), .Dim = c(18L, 3L)), structure(c(
    "4000",
    "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "60000", "100000", "150000", "200000", "250000",
    "300000", "400000", "500000", "1539", "1882", "2171", "2653",
    "3057", "3410", "3727", "4016", "4284", "4533", "4768", "4989",
    "5198", "5398", "5588", "5771", "6196", "5771", "7271", "8624",
    "9622", "10368", "10914", "11510", "11518", "38,5", "31,4", "27,1",
    "22,1", "19,1", "17,0", "15,5", "14,3", "13,4", "12,6", "11,9",
    "11,3", "10,8", "10,4", "10,0", "9,6", "8,9", "9,6", "7,3", "5,7",
    "4,8", "4,1", "3,6", "2,9", "2,3"
  ), .Dim = c(25L, 3L)), structure(c(
    "4000",
    "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "60000", "100000", "150000", "200000", "1464",
    "1788", "2059", "2507", "2878", "3199", "3484", "3740", "3974",
    "4189", "4389", "4574", "4747", "4909", "5061", "5204", "5526",
    "5204", "6252", "6878", "6927", "36,6", "29,8", "25,7", "20,9",
    "18,0", "16,0", "14,5", "13,4", "12,4", "11,6", "11,0", "10,4",
    "9,9", "9,4", "9,0", "8,7", "7,9", "8,7", "6,3", "4,6", "3,5"
  ), .Dim = c(21L, 3L)), structure(c(
    "12000", "16000", "20000",
    "24000", "28000", "32000", "36000", "40000", "44000", "48000",
    "52000", "56000", "60000", "70000", "60000", "100000", "150000",
    "200000", "300000", "400000", "500000", "600000", "4266", "4919",
    "5491", "6007", "6479", "6916", "7325", "7710", "8074", "8421",
    "8752", "9069", "9373", "10086", "9373", "11919", "14316", "16199",
    "19000", "20925", "22203", "22942", "35,5", "30,7", "27,5", "25,0",
    "23,1", "21,6", "20,3", "19,3", "18,4", "17,5", "16,8", "16,2",
    "15,6", "14,4", "15,6", "11,9", "9,5", "8,1", "6,3", "5,2", "4,4",
    "3,8"
  ), .Dim = c(22L, 3L)), structure(c(
    "1000", "2000", "4000",
    "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "405", "570", "801", "975", "1118",
    "1350", "1537", "1693", "1826", "1941", "2042", "2129", "2206",
    "2272", "2329", "2377", "2417", "2450", "2499", "2504", "40,5",
    "28,5", "20,0", "16,2", "14,0", "11,3", "9,6", "8,5", "7,6",
    "6,9", "6,4", "5,9", "5,5", "5,2", "4,9", "4,6", "4,3", "4,1",
    "3,6", "3,1"
  ), .Dim = c(20L, 3L)), structure(c(
    "2000", "4000",
    "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "100000", "120000", "140000", "618",
    "871", "1062", "1221", "1483", "1697", "1880", "2041", "2184",
    "2313", "2429", "2536", "2633", "2722", "2803", "2878", "2947",
    "3093", "3209", "3357", "3406", "3360", "30,9", "21,8", "17,7",
    "15,3", "12,4", "10,6", "9,4", "8,5", "7,8", "7,2", "6,7", "6,3",
    "6,0", "5,7", "5,4", "5,1", "4,9", "4,4", "4,0", "3,4", "2,8",
    "2,4"
  ), .Dim = c(22L, 3L)), structure(c(
    "2000", "4000", "6000",
    "8000", "12000", "16000", "20000", "24000", "28000", "32000",
    "36000", "40000", "44000", "48000", "52000", "56000", "60000",
    "70000", "80000", "100000", "120000", "140000", "160000", "180000",
    "770", "1085", "1323", "1522", "1850", "2119", "2350", "2553",
    "2735", "2899", "3048", "3185", "3311", "3427", "3534", "3633",
    "3724", "3923", "4086", "4315", "4432", "4447", "4359", "4164",
    "38,5", "27,1", "22,1", "19,0", "15,4", "13,2", "11,7", "10,6",
    "9,8", "9,1", "8,5", "8,0", "7,5", "7,1", "6,8", "6,5", "6,2",
    "5,6", "5,1", "4,3", "3,7", "3,2", "2,7", "2,3"
  ), .Dim = c(
    24L,
    3L
  )), structure(c(
    "4000", "6000", "8000", "12000", "16000", "20000",
    "24000", "28000", "32000", "36000", "40000", "44000", "48000",
    "52000", "56000", "60000", "70000", "80000", "100000", "120000",
    "140000", "160000", "180000", "200000", "1253", "1530", "1762",
    "2146", "2464", "2740", "2984", "3204", "3406", "3591", "3762",
    "3922", "4071", "4211", "4343", "4467", "4746", "4989", "5383",
    "5675", "5881", "6009", "6064", "6049", "31,3", "25,5", "22,0",
    "17,9", "15,4", "13,7", "12,4", "11,4", "10,6", "10,0", "9,4",
    "8,9", "8,5", "8,1", "7,8", "7,4", "6,8", "6,2", "5,4", "4,7",
    "4,2", "3,8", "3,4", "3,0"
  ), .Dim = c(24L, 3L)), structure(c(
    "4000",
    "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "100000", "120000", "140000", "160000",
    "180000", "200000", "1166", "1424", "1639", "1994", "2287", "2539",
    "2762", "2962", "3144", "3311", "3465", "3607", "3739", "3861",
    "3976", "4083", "4321", "4522", "4830", "5032", "5141", "5162",
    "5096", "4940", "29,2", "23,7", "20,5", "16,6", "14,3", "12,7",
    "11,5", "10,6", "9,8", "9,2", "8,7", "8,2", "7,8", "7,4", "7,1",
    "6,8", "6,2", "5,7", "4,8", "4,2", "3,7", "3,2", "2,8", "2,5"
  ), .Dim = c(24L, 3L)), structure(c(
    "2000", "4000", "6000", "8000",
    "12000", "16000", "20000", "24000", "28000", "32000", "36000",
    "40000", "44000", "48000", "52000", "56000", "505", "707", "855",
    "976", "1167", "1313", "1428", "1520", "1593", "1648", "1688",
    "1714", "1727", "1726", "1712", "1685", "25,3", "17,7", "14,3",
    "12,2", "9,7", "8,2", "7,1", "6,3", "5,7", "5,2", "4,7", "4,3",
    "3,9", "3,6", "3,3", "3,0"
  ), .Dim = c(16L, 3L)), structure(c(
    "4000",
    "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "100000", "120000", "140000", "160000",
    "180000", "200000", "1429", "1744", "2007", "2442", "2801", "3110",
    "3383", "3628", "3851", "4055", "4243", "4417", "4579", "4729",
    "4869", "5000", "5292", "5538", "5916", "6163", "6296", "6322",
    "6241", "6050", "35,7", "29,1", "25,1", "20,3", "17,5", "15,5",
    "14,1", "13,0", "12,0", "11,3", "10,6", "10,0", "9,5", "9,1",
    "8,7", "8,3", "7,6", "6,9", "5,9", "5,1", "4,5", "4,0", "3,5",
    "3,0"
  ), .Dim = c(24L, 3L)), structure(c(
    "6000", "8000", "12000",
    "16000", "20000", "24000", "28000", "32000", "36000", "40000",
    "44000", "48000", "52000", "56000", "60000", "70000", "80000",
    "100000", "120000", "140000", "160000", "180000", "200000", "2143",
    "2470", "3014", "3467", "3861", "4214", "4534", "4828", "5100",
    "5355", "5593", "5818", "6031", "6233", "6425", "6867", "7262",
    "7940", "8497", "8956", "9330", "9631", "9865", "35,7", "30,9",
    "25,1", "21,7", "19,3", "17,6", "16,2", "15,1", "14,2", "13,4",
    "12,7", "12,1", "11,6", "11,1", "10,7", "9,8", "9,1", "7,9",
    "7,1", "6,4", "5,8", "5,4", "4,9"
  ), .Dim = c(23L, 3L)), structure(c(
    "2000",
    "4000", "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "640", "900", "1096", "1259", "1524",
    "1739", "1920", "2078", "2216", "2338", "2446", "2543", "2629",
    "2706", "2775", "2835", "2888", "2989", "3050", "32,0", "22,5",
    "18,3", "15,7", "12,7", "10,9", "9,6", "8,7", "7,9", "7,3", "6,8",
    "6,4", "6,0", "5,6", "5,3", "5,1", "4,8", "4,3", "3,8"
  ), .Dim = c(
    19L,
    3L
  )), structure(c(
    "2000", "4000", "6000", "8000", "12000", "16000",
    "20000", "24000", "28000", "32000", "36000", "40000", "44000",
    "48000", "52000", "56000", "60000", "70000", "80000", "100000",
    "120000", "140000", "692", "974", "1187", "1364", "1653", "1889",
    "2089", "2263", "2417", "2555", "2678", "2789", "2889", "2979",
    "3061", "3134", "3200", "3334", "3429", "3510", "3454", "3255",
    "34,6", "24,4", "19,8", "17,0", "13,8", "11,8", "10,4", "9,4",
    "8,6", "8,0", "7,4", "7,0", "6,6", "6,2", "5,9", "5,6", "5,3",
    "4,8", "4,3", "3,5", "2,9", "2,3"
  ), .Dim = c(22L, 3L)), structure(c(
    "2000",
    "4000", "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "100000", "120000", "140000", "599",
    "844", "1028", "1181", "1432", "1636", "1809", "1960", "2093",
    "2212", "2319", "2415", "2502", "2580", "2651", "2714", "2771",
    "2887", "2969", "3039", "2991", "2819", "30,0", "21,1", "17,1",
    "14,8", "11,9", "10,2", "9,0", "8,2", "7,5", "6,9", "6,4", "6,0",
    "5,7", "5,4", "5,1", "4,8", "4,6", "4,1", "3,7", "3,0", "2,5",
    "2,0"
  ), .Dim = c(22L, 3L)), structure(c(
    "4000", "6000", "8000",
    "12000", "16000", "20000", "24000", "28000", "32000", "36000",
    "40000", "44000", "48000", "52000", "56000", "60000", "70000",
    "80000", "100000", "120000", "140000", "160000", "180000", "200000",
    "300000", "400000", "1401", "1714", "1977", "2415", "2781", "3102",
    "3389", "3652", "3894", "4119", "4331", "4531", "4720", "4900",
    "5071", "5235", "5617", "5964", "6577", "7103", "7560", "7961",
    "8314", "8624", "9662", "10010", "35,0", "28,6", "24,7", "20,1",
    "17,4", "15,5", "14,1", "13,0", "12,2", "11,4", "10,8", "10,3",
    "9,8", "9,4", "9,1", "8,7", "8,0", "7,5", "6,6", "5,9", "5,4",
    "5,0", "4,6", "4,3", "3,2", "2,5"
  ), .Dim = c(26L, 3L)), structure(c(
    "2000",
    "4000", "6000", "8000", "12000", "16000", "20000", "24000", "28000",
    "32000", "36000", "40000", "44000", "48000", "52000", "56000",
    "60000", "70000", "80000", "100000", "120000", "641", "899",
    "1092", "1250", "1504", "1704", "1869", "2007", "2122", "2220",
    "2301", "2368", "2422", "2464", "2493", "2512", "2519", "2490",
    "2390", "1922", "551", "32,1", "22,5", "18,2", "15,6", "12,5",
    "10,7", "9,3", "8,4", "7,6", "6,9", "6,4", "5,9", "5,5", "5,1",
    "4,8", "4,5", "4,2", "3,6", "3,0", "1,9", "0,5"
  ), .Dim = c(
    21L,
    3L
  )), structure(c(
    "2000", "4000", "6000", "8000", "12000", "16000",
    "20000", "24000", "28000", "32000", "36000", "40000", "44000",
    "48000", "52000", "56000", "60000", "70000", "80000", "401",
    "562", "683", "782", "941", "1066", "1170", "1256", "1329", "1390",
    "1441", "1484", "1518", "1544", "1564", "1576", "1582", "1565",
    "1506", "20,1", "14,1", "11,4", "9,8", "7,8", "6,7", "5,8", "5,2",
    "4,7", "4,3", "4,0", "3,7", "3,4", "3,2", "3,0", "2,8", "2,6",
    "2,2", "1,9"
  ), .Dim = c(19L, 3L)), structure(c(
    "16000", "20000",
    "24000", "28000", "32000", "36000", "40000", "44000", "48000",
    "52000", "56000", "60000", "70000", "80000", "100000", "150000",
    "200000", "300000", "400000", "500000", "600000", "700000", "800000",
    "900000", "5945", "6642", "7271", "7848", "8385", "8887", "9362",
    "9812", "10241", "10652", "11047", "11427", "12321", "13150",
    "14651", "17788", "20359", "24484", "27742", "30412", "32640",
    "34511", "36080", "37387", "37,2", "33,2", "30,3", "28,0", "26,2",
    "24,7", "23,4", "22,3", "21,3", "20,5", "19,7", "19,0", "17,6",
    "16,4", "14,7", "11,9", "10,2", "8,2", "6,9", "6,1", "5,4", "4,9",
    "4,5", "4,2"
  ), .Dim = c(24L, 3L)), structure(c(
    "16000", "20000",
    "24000", "28000", "32000", "36000", "40000", "44000", "48000",
    "52000", "56000", "60000", "70000", "80000", "100000", "120000",
    "140000", "160000", "180000", "200000", "300000", "400000", "500000",
    "600000", "700000", "800000", "1000000", "1500000", "2000000",
    "2500000", "6168", "6895", "7551", "8155", "8716", "9243", "9741",
    "10214", "10666", "11100", "11516", "11918", "12867", "13748",
    "15355", "16804", "18132", "19365", "20519", "21607", "26328",
    "30245", "33639", "36657", "39384", "41878", "46313", "55135",
    "61777", "66893", "38,6", "34,5", "31,5", "29,1", "27,2", "25,7",
    "24,4", "23,2", "22,2", "21,3", "20,6", "19,9", "18,4", "17,2",
    "15,4", "14,0", "13,0", "12,1", "11,4", "10,8", "8,8", "7,6",
    "6,7", "6,1", "5,6", "5,2", "4,6", "3,7", "3,1", "2,7"
  ), .Dim = c(
    30L,
    3L
  )), structure(c(
    "6000", "8000", "12000", "16000", "20000",
    "24000", "28000", "32000", "36000", "40000", "44000", "48000",
    "52000", "56000", "60000", "70000", "80000", "100000", "120000",
    "140000", "160000", "180000", "200000", "300000", "2199", "2535",
    "3094", "3561", "3968", "4332", "4664", "4969", "5252", "5517",
    "5767", "6002", "6225", "6437", "6640", "7107", "7528", "8259",
    "8871", "9388", "9825", "10191", "10494", "11214", "36,6", "31,7",
    "25,8", "22,3", "19,8", "18,1", "16,7", "15,5", "14,6", "13,8",
    "13,1", "12,5", "12,0", "11,5", "11,1", "10,2", "9,4", "8,3",
    "7,4", "6,7", "6,1", "5,7", "5,2", "3,7"
  ), .Dim = c(24L, 3L)),
  structure(c(
    "2000", "4000", "6000", "8000", "12000", "16000",
    "20000", "24000", "28000", "32000", "36000", "40000", "44000",
    "48000", "52000", "56000", "60000", "70000", "80000", "100000",
    "713", "1002", "1219", "1399", "1691", "1927", "2125", "2296",
    "2444", "2574", "2689", "2790", "2879", "2956", "3024", "3082",
    "3130", "3215", "3251", "3175", "35,6", "25,0", "20,3", "17,5",
    "14,1", "12,0", "10,6", "9,6", "8,7", "8,0", "7,5", "7,0",
    "6,5", "6,2", "5,8", "5,5", "5,2", "4,6", "4,1", "3,2"
  ), .Dim = c(
    20L,
    3L
  )), structure(c(
    "2000", "4000", "6000", "8000", "12000",
    "16000", "20000", "24000", "28000", "32000", "36000", "40000",
    "44000", "48000", "52000", "56000", "60000", "70000", "80000",
    "100000", "586", "825", "1004", "1153", "1395", "1592", "1758",
    "1901", "2027", "2139", "2237", "2325", "2404", "2473", "2535",
    "2589", "2637", "2726", "2779", "2778", "29,3", "20,6", "16,7",
    "14,4", "11,6", "9,9", "8,8", "7,9", "7,2", "6,7", "6,2",
    "5,8", "5,5", "5,2", "4,9", "4,6", "4,4", "3,9", "3,5", "2,8"
  ), .Dim = c(20L, 3L)), structure(c(
    "2000", "4000", "6000",
    "8000", "12000", "16000", "20000", "24000", "28000", "32000",
    "36000", "40000", "44000", "48000", "52000", "56000", "60000",
    "504", "707", "859", "984", "1185", "1345", "1476", "1587",
    "1682", "1762", "1830", "1887", "1934", "1972", "2002", "2023",
    "2036", "25,2", "17,7", "14,3", "12,3", "9,9", "8,4", "7,4",
    "6,6", "6,0", "5,5", "5,1", "4,7", "4,4", "4,1", "3,8", "3,6",
    "3,4"
  ), .Dim = c(17L, 3L)), structure(c(
    "2000", "4000", "6000",
    "8000", "12000", "16000", "20000", "24000", "28000", "32000",
    "399", "556", "672", "764", "908", "1016", "1097", "1159",
    "1203", "1232", "19,9", "13,9", "11,2", "9,6", "7,6", "6,3",
    "5,5", "4,8", "4,3", "3,8"
  ), .Dim = c(10L, 3L))
)
#### -preprocesamiento raw_tables_2003.03_2014.02-####

raw_text_2003.03_2014.02 <- extract_text(path)

aglomerado <- str_extract_all(raw_text_2003.03_2014.02, "Aglomerado.*(?=\n)")[[1]]

aglomerado <- c("Total 31 aglomerados urbanos", aglomerado[2:34])

raw_tables_2003.03_2014.02 <- raw_tables_2003.03_2014.02[3:36]

errores_muestrales_2003.03_2014.02 <- tibble(aglomerado) %>%
  mutate(table = raw_tables_2003.03_2014.02[row_number()])

for (i in seq_along(errores_muestrales_2003.03_2014.02$table)) {
  errores_muestrales_2003.03_2014.02$table[i] <- list(data.frame(errores_muestrales_2003.03_2014.02$table[i]))
}

errores_muestrales_2003.03_2014.02 <- errores_muestrales_2003.03_2014.02 %>%
  unnest(cols = table)

errores_muestrales_2003.03_2014.02 <- errores_muestrales_2003.03_2014.02 %>%
  mutate(
    x = as.character(X1) %>% as.numeric(),
    ds = as.character(X2) %>% as.numeric(),
    cv = as.character(X3) %>%
      str_replace_all(pattern = ",", replacement = "\\.") %>%
      as.numeric()
  ) %>%
  select(1, 5:7) %>%
  mutate(periodo = "2003.03_2014.02")

#### -raw_tables_2014.03-####

path <- "https://www.indec.gob.ar/ftp/cuadros/menusuperior/eph/EPH_errores_muestreo_3t2014.pdf"

# areas <- extract_areas(path)

raw_tables_2014.03 <- extract_tables(path)
raw_text_2014.03 <- extract_text(path)

aglomerado <- str_extract_all(raw_text_2014.03, "Aglomerado.*(?=\n)")[[1]]

aglomerado <- c("Total 31 aglomerados urbanos", aglomerado)

raw_tables_2014.03 <- raw_tables_2014.03[1:33]

errores_muestrales_2014.03 <- tibble(aglomerado) %>%
  mutate(table = raw_tables_2014.03[row_number()])

clean_table <- function(df) {
  df <- as_tibble(df[[1]], .name_repair = "minimal")
  names(df) <- c("tmp", "cv")
  df <- df %>%
    slice(-(1:3)) %>%
    separate(col = "tmp", into = c("x", "ds"), sep = " ") %>%
    mutate(
      x = str_remove_all(x, "\\.") %>% as.numeric(),
      ds = str_remove_all(ds, "\\.") %>% as.numeric(),
      cv = str_replace_all(cv, ",", "\\.") %>% as.numeric()
    )
}

errores_muestrales_clean <- list()
for (i in seq_len(nrow(errores_muestrales_2014.03))) {
  print(errores_muestrales_2014.03$aglomerados[i])
  tmp_table <- errores_muestrales_2014.03$table[i]
  errores_muestrales_clean <- c(errores_muestrales_clean, list(clean_table(tmp_table)))
}

errores_muestrales_2014.03 <- errores_muestrales_2014.03 %>%
  mutate(tables_clean = errores_muestrales_clean[row_number()]) %>%
  select(-table) %>%
  unnest(cols = tables_clean)

errores_muestrales_2014.03 <- errores_muestrales_2014.03 %>%
  mutate(periodo = "2014.03")

#### - join & diccionario_aglomerados-####

errores_muestrales <- bind_rows(errores_muestrales_2003.03_2014.02, errores_muestrales_2014.03)

errores_muestrales$aglomerado <- errores_muestrales$aglomerado %>%
  str_remove_all("Aglomerad(o|os)\\b") %>%
  str_trim(., "both")

errores_muestrales <-
  left_join(errores_muestrales, eph::diccionario_aglomerados,
    by = c("aglomerado" = "aglo")
  )

reparacion_aglo <- errores_muestrales %>%
  filter(is.na(errores_muestrales$codigo)) %>%
  select("aglomerado") %>%
  unique()

reparacion_aglo$codigo <- c(
  "Total", "Gran Buenos Aires", 3, 5, 9, 18, 26,
  29, 31, 32, 33, 38, 91, 93, 19, 34, 30, 17
)

for (i in seq_along(reparacion_aglo$aglomerado)) {
  errores_muestrales <- errores_muestrales %>%
    mutate(codigo = case_when(
      aglomerado == reparacion_aglo$aglomerado[i] ~ reparacion_aglo$codigo[i],
      TRUE ~ as.character(codigo)
    ))
}

errores_muestrales <- errores_muestrales %>%
  select(codigo, aglomerado, periodo, x, ds, cv)

#### - use_data() & roxygen -####

usethis::use_data(errores_muestrales, overwrite = TRUE)

data_frame_roxygen <- function(obj) {
  if (inherits(obj, c("data.frame", "tibble"))) {
    cl <- vapply(obj, FUN = typeof, FUN.VALUE = character(1))

    items <- paste0(sprintf("#'   \\item{\\code{%s}}{%s ---DESCRIPTION---}", names(cl), cl))


    items <- paste0(items, collapse = "\n")


    header <- c(
      title = paste0("#' @title ", deparse(substitute(obj))),
      description = "#' @description ---COLUMN DESCRIPTION---",
      format = sprintf("#' @format A data frame with %s rows and %s variables:", nrow(obj), length(cl))
    )

    ret <- sprintf(
      "%s\n%s\n%s",
      paste(header, collapse = "\n"),
      sprintf("#' \\describe{\n%s \n#'}", items),
      sprintf('\n"%s"', deparse(substitute(obj)))
    )
  }
  ret
}


data_frame_roxygen(errores_muestrales) %>% stringr::str_split("\n")
rindec/eph documentation built on Oct. 10, 2023, 6:19 p.m.