class: center, middle .linea-superior[] .linea-inferior[] <img src="imagenes/logo_portada2.png" width="200" /> ## Capacitación en R y herramientas de productividad - nivel intermedio ## Proyecto Ciencia de Datos ## Strings y Regex --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings -- <br/> .medium-par[Introducción al manejo de strings⛓️ y `stringr`🎻] <br/> <br/> -- .medium-par[Expresiones regulares 📏] <br/> <br/> -- .medium-par[Aplicaciones para la exploración y edición de strings 🪓🔨] <br/> <br/> --- background-image: url(imagenes/patterns.PNG) background-size: contain .center[.big-par-red[Introducción al manejo de strings⛓️ y `stringr`🎻️]] --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings -- <br/> .center[.big-par[¿Qué son las .pur[strings]?🤔]] -- .center[.big-par[¿Creen que es importante saber .pur[manipular strings]? ¿Por qué?]] -- .center[.medium-par[¿Qué tareas de su trabajo creen que podrían .pur[optimizar]?]] -- .center[.big-par[🤔]] --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings -- <br/> Probablemente en su experiencia programando, con `R` u otro *software*, han .pur[creado] o .pur[manipulado] strings (o cadenas de caracteres) en alguna ocasión. -- Una forma sencilla de crear una string es utilizando .pur[comillas] ("). -- .pur[**nota**: al encerrar entre paréntesis el código logramos **asignar** e **imprimir** en una sola línea.] -- ```r (mi_string <- "hola, soy una string") ``` ``` ## [1] "hola, soy una string" ``` -- También se pueden crear con .pur[comillas simples] ('). -- ```r (mi_string <- 'hola, yo también soy una string') ``` ``` ## [1] "hola, yo también soy una string" ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings -- <br/> ¿Qué pasa si necesitamos usar comillas dentro de una string? -- ```r (mi_string <- "quiero incluir "comillas" dentro de una string") ``` ``` ## Error: <text>:1:32: unexpected symbol ## 1: (mi_string <- "quiero incluir "comillas ## ^ ``` -- Al volver a abrir comillas, `R` entiende que con eso se .pur[cierran las primeras comillas]. -- Por eso es recomendable **reservar** las comillas simples ('') para cuando hay comillas ("") al interior de la string. -- ```r (mi_string <- 'quiero incluir "comillas" dentro de una string') ``` ``` ## [1] "quiero incluir \"comillas\" dentro de una string" ``` -- Si se fijan, el valor .pur[impreso] agrega el símbolo "\" antes de cada comilla. --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings -- <br/> Una secuencia .pur[dentro de una string] que comienza con "\" es llamada .pur[*scape sequence*]. -- Avisan a `R` que debe interpretar el input inmediatamente posterior a "\" de otra manera. -- Podemos directamente ingresar "**\"**" en vez de comilla simple (') y `R` .pur[interpretará] e .pur[imprimirá] lo mismo. -- ```r (mi_string <- "quiero incluir \"comillas\" dentro de una string") ``` ``` ## [1] "quiero incluir \"comillas\" dentro de una string" ``` -- <br/> .center[.red[Warning: ]Pero 👁️,la representación impresa de una cadena no es equivalente a la cadena misma ..red[Warning]] --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings -- <br/> La función `writeLines()` muestra las strings como deben ser leídas, independiente de cómo `R` las almacena. -- ```r writeLines(mi_string) ``` ``` ## quiero incluir "comillas" dentro de una string ``` -- ```r (mi_string <- "quiero que mi string se \ndespliegue en distintas líneas") ``` ``` ## [1] "quiero que mi string se \ndespliegue en distintas líneas" ``` -- ```r writeLines(mi_string) ``` ``` ## quiero que mi string se ## despliegue en distintas líneas ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings -- ```r (mi_string <- "quiero \t agregar \t \"tabs\" \na mi \tstring") ``` ``` ## [1] "quiero \t agregar \t \"tabs\" \na mi \tstring" ``` -- ```r writeLines(mi_string) ``` ``` ## quiero agregar "tabs" ## a mi string ``` -- Entonces, si quiero obtener un "\" dentro de mi string, debo ingresar "\\\". -- ```r ejemplo <- c("\"", "\\") writeLines(ejemplo) ``` ``` ## " ## \ ``` -- Ahora, si bien estos símbolos y secuencias permiten .pur[generar strings] con ciertas características. -- .center[Su mayor utilidad es .medium-par[.pur[rastrear patrones en strings] 🔎]] --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Expresiones regulares (regex) -- Para el manejo de strings pondremos énfasis en las expresiones regulares (o .pur[regex]). -- una **regex:** es una .pur[secuencia de caracteres que conforma un patrón de búsqueda] ([wikipedia](https://es.wikipedia.org/wiki/Expresi%C3%B3n_regular)). -- Las .pur[regex] resultan útiles porque permiten describir patrones en ellas a través de un .pur[lenguaje conciso]. -- .red[Warning:] Cuando mires por primera vez una regex te parecerá que un gato caminó sobre tu teclado. -- .pull-left[] -- .pull-right[] --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Expresiones regulares (regex) -- <br/> .medium-par[Pero a medida que vayas ampliando tu conocimiento pronto te empezarán a hacer sentido.] -- Este es un trozo de una expresión regular que evalúa si una dirección de correo electrónico es válida. .center[ <img src="imagenes/regex_email.PNG" width="500" height = 280 /> ] fuente: [R para ciencia de datos](https://r4ds.had.co.nz/strings.html) --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings -- <br/> Hadley Wickham llama a lo anterior un **ejemplo patológico** porque las direcciones de correo pueden ser muy complejas. -- Las herramientas que aprenderemos hoy son .pur[muchísimo más sencillas pero muy potentes]. -- .pull-left[ .medium-par[Para la manipulación de strings utilizaremos una librería parte de `tidyverse`.] .medium-par[Esta librería se llama `stringr`.]] -- .pull-right[] --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings con `stringr` -- <br/> `stringr` está construido sobre la base del paquete `stringi`. -- `stringi` está diseñado para ser **comprehensivo** (256 funciones). -- `stringr` contiene una selección .pur[precisa] de las funciones más útiles, lo que lo hace más .pur[conciso] y .pur[consistente] (49 funciones). -- `stringr` es .pur[compatible con la gramática de `tidyverse`] y presenta .pur[argumentos predeterminados razonables]. -- Si llegaran requerir de más herramientas, vale la pena mirar `stringi`, aunque probablemente la mejor inversión es aprender más sobre **regex**. -- Algo que facilita rastrear las funciones de `stringr` en `RStudio` es que todas comienzan con "**str_**". -- <br/> .center[ <img src="imagenes/str_.PNG" width="500" height = 100 /> ] --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings con `stringr` -- <br/> `stringr` ofrece versiones de algunas funciones que ya conocemos del paquete base. -- (Para trabajar con `stringr` basta con cargar `tidyverse`.) -- ```r library(tidyverse) frutas = c("mazana", "naranja", "uva", "platano", "pera", NA) ``` -- Podemos .pur[contar la cantidad de caracteres] dentro de cada string. -- ```r # con stringr str_length(frutas) ``` ``` ## [1] 6 7 3 7 4 NA ``` ```r # con R base nchar(frutas) ``` ``` ## [1] 6 7 3 7 4 NA ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings con `stringr` -- <br/> `stringr` también tiene su propia versión de `paste()`. -- ```r # con stringr str_c(c("x", "y", "z"), collapse = ", ") ``` ``` ## [1] "x, y, z" ``` ```r # o con R base paste(c("x", "y", "z"), collapse = ", ") ``` ``` ## [1] "x, y, z" ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings con `stringr` -- <br/> De la mayoría de las funciones de `stringr` que veremos a continuación, .pur[existe una versión en `R` base]. -- <table> <thead> <tr> <th style="text-align:left;"> stringr </th> <th style="text-align:left;"> base </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> str_detect(x, pattern) </td> <td style="text-align:left;"> grepl(pattern, x) </td> </tr> <tr> <td style="text-align:left;"> str_sub(x, start, end) </td> <td style="text-align:left;"> substr(x, start, end) </td> </tr> <tr> <td style="text-align:left;"> str_length(x) </td> <td style="text-align:left;"> nchar(x) </td> </tr> <tr> <td style="text-align:left;"> str_match(x, pattern) </td> <td style="text-align:left;"> regexec(pattern, x) + regmatches() </td> </tr> <tr> <td style="text-align:left;"> str_extract(x, pattern) </td> <td style="text-align:left;"> regexpr(pattern, x) + regmatches() </td> </tr> <tr> <td style="text-align:left;"> str_to_lower(x) </td> <td style="text-align:left;"> tolower(x) </td> </tr> <tr> <td style="text-align:left;"> str_to_upper(x) </td> <td style="text-align:left;"> toupper(x) </td> </tr> </tbody> </table> -- Escogimos solo algunas de las equivalencias que existen entre `stringr` y `R` base. -- Para conocer más acerca de `stringr` puedes pinchar [aquí](https://stringr.tidyverse.org/). --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings con `stringr` -- <br/> Veamos algunos ejemplos de usos de las funciones de `stringr`. -- Podemos .pur[extraer] los números de una dirección. -- ```r str_extract("Paseo Bulnes 418", pattern = "\\d+") ``` ``` ## [1] "418" ``` -- O podríamos querer, por el contrario, .pur[remover] los números. -- ```r direcciones <- c("Avenida Libertador Bernardo O'Higgins 1058" , "Calle Morandé 801", "Calle Paseo Bulnes 2018") str_replace(direcciones, pattern = c("\\s\\d+"), replacement = "") ``` ``` ## [1] "Avenida Libertador Bernardo O'Higgins" ## [2] "Calle Morandé" ## [3] "Calle Paseo Bulnes" ``` -- ¿Alguien intuye lo que hace **"\\\s\\\d+"**? --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings con `stringr` -- <br/> O bien. -- ```r str_extract(direcciones, pattern = "\\D+") ``` ``` ## [1] "Avenida Libertador Bernardo O'Higgins " ## [2] "Calle Morandé " ## [3] "Calle Paseo Bulnes " ``` -- ¿Qué hizo **"\\\D+"**? -- Quizás .pur[no nos interesa] la denominación de calle o avenida y queremos solo el nombre y número. -- ```r str_replace(direcciones , pattern = "Calle|Avenida", replacement = "") ``` ``` ## [1] " Libertador Bernardo O'Higgins 1058" " Morandé 801" ## [3] " Paseo Bulnes 2018" ``` ¿Es robusta esa solución? ¿Qué pasaría si hubiera un "Pasaje"? --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Manejo de strings con `stringr` <br/> -- ```r str_replace(direcciones , pattern = "^\\w+\\s", replacement = "") ``` ``` ## [1] "Libertador Bernardo O'Higgins 1058" "Morandé 801" ## [3] "Paseo Bulnes 2018" ``` -- ¿Qué creen que hace esta regex **"^\\\w+\\\s"**? --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Expresiones regulares (regex) -- <br/> Partamos desde el principio con las .pur[regex]. -- No revisaremos hoy .medium-par[todas] las .pur[regex], porque son .medium-par[.pur[demasiadas]], solo veremos elementos básicos. Para conocer más detalles sobre las .pur[regex] y su uso en `stringr` pueden pinchar [aquí](https://stringr.tidyverse.org/articles/regular-expressions.html). -- También pueden visitar un recurso en español [aquí](https://rpubs.com/ydmarinb/429756) o [aquí](https://www.diegocalvo.es/expresiones-regulares-en-r/) -- Echemos un vistazo en este último recurso 👀. --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Expresiones regulares (regex) -- Volvemos a crear nuestro vector frutas. -- ```r frutas <- c("mazana", "naranja", "uva", "platano", "pera") ``` -- Lo más básico es consultar si las strings .pur[contienen] una string completa. -- ```r str_match(frutas, pattern = "uva") ``` ``` ## [,1] ## [1,] NA ## [2,] NA ## [3,] "uva" ## [4,] NA ## [5,] NA ``` -- O si .pur[contienen] un patrón, **en cualquier lugar**. -- ```r str_view(frutas, pattern = "an") ``` ``` ## [1] | maz<an>a ## [2] | nar<an>ja ## [4] | plat<an>o ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Expresiones regulares (regex) -- También podemos rastrear una string con un caracter opcional. -- ```r nombres = c("maria", "mario", "camilo", "camila") str_detect(nombres, pattern = "mari(o|a)") ``` ``` ## [1] TRUE TRUE FALSE FALSE ``` ## Anclas -- Existen dos operadores que anclan una posición. -- - **^** para buscar la coincidencia al inicio de la cadena. - **$** para buscar la coincidencia al final de la cadena. -- Queremos saber qué nombres parten con "c" y luego los que terminan con "o". ```r str_detect(nombres, pattern = "^c") ``` ``` ## [1] FALSE FALSE TRUE TRUE ``` ```r str_detect(nombres, pattern = "o$") ``` ``` ## [1] FALSE TRUE TRUE FALSE ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio (no tan) express -- Estas herramientas que hemos visto pueden usarse en conjunto con las que ya conocen de `dplyr` (`filter()`, `mutate()`) -- Trabajaremos con la base del paquete `guaguas` que ya hemos utilizado anteriormente. -- ```r library(guaguas) ``` -- **Ejemplo:** Si queremos detectar y tabular solamente a las personas que en su nombre contienen el patrón "eta", podríamos hacerlo así. -- ```r guaguas %>% filter(str_detect(nombre, pattern = "eta")) %>% count(nombre) ``` ``` ## # A tibble: 215 x 2 ## nombre n ## <chr> <int> ## 1 Adrioleta 1 ## 2 Agneta 6 ## 3 Agrieta 1 ## 4 Ahetana 1 ## 5 Alieta 3 ## 6 Amalia-Violeta 1 ## 7 Anacleta 13 ## 8 Anacoreta 2 ## 9 Anceta 1 ## 10 Aneta 1 ## # i 205 more rows ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicios (no tan) express -- Ahora ustedes: -- 1. Tabular los nombres solo de las mujeres que tienen un nombre terminado en "o" nacidas el mismo año que tú. -- 2. Tabular los nombres solo de los hombres que tienen un nombre terminado en "a" nacidos el mismo año que tú. -- 3. Nombres de personas que su nombre termine con "e", con o sin acento, nacidas el mismo año que tú. -- 4.1 Primero, separa la base guaguas en una lista que contenga un data frame para cada año (anio). -- 4.2 Construye una función que cree dos nuevas variables en un data frame: **"first_letters"**, que contenga las primeras 2 letras de cada nombre y **"last_letters"**, que contenga las últimas 2 letras de cada nombre. (👀 esto NO lo hemos visto, revisen la función `str_sub()`) -- 4.3 Recorre la lista de data frames por año aplicando tu función. --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio (no tan) express: solución -- (1) Tabular los nombres solo de las mujeres que tienen un nombre terminado en "o". ```r guaguas %>% filter(sexo == "F" & anio == 1985 & str_detect(nombre, "o$")) %>% count(nombre) ``` ``` ## # A tibble: 32 x 2 ## nombre n ## <chr> <int> ## 1 Aiko 1 ## 2 Amparito 1 ## 3 Amparo 1 ## 4 Charito 1 ## 5 Cielo 1 ## 6 Consuelo 1 ## 7 Conzuelo 1 ## 8 Fujiko 1 ## 9 Hatsuko 1 ## 10 Io 1 ## # i 22 more rows ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio (no tan) express: solución (2) Tabular los nombres solo de los hombres que tienen un nombre terminado en "a". ```r guaguas %>% filter(sexo == "M" & anio == 1985 & str_detect(nombre, "a$")) %>% count(nombre) ``` ``` ## # A tibble: 35 x 2 ## nombre n ## <chr> <int> ## 1 Aliosha 1 ## 2 Andrea 1 ## 3 Bautista 1 ## 4 Bechara 1 ## 5 Borja 1 ## 6 Edrra 1 ## 7 Elena 1 ## 8 Evanjelista 1 ## 9 Gorka 1 ## 10 Haumaka 1 ## # i 25 more rows ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio (no tan) express: solución (3) Nombres de personas que su nombre termine con "e", con o sin acento. ```r guaguas %>% filter(anio == 1985 & str_detect(nombre, "(e|é)$")) %>% count(nombre) ``` ``` ## # A tibble: 891 x 2 ## nombre n ## <chr> <int> ## 1 Addele 1 ## 2 Aidé 1 ## 3 Aike 1 ## 4 Ailene 1 ## 5 Aine 1 ## 6 Ainohe 1 ## 7 Alcide 1 ## 8 Ale 1 ## 9 Aleide 1 ## 10 Alexandre 1 ## # i 881 more rows ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio (no tan) express: solución -- 4.1 Primero, separa la base guaguas en una lista que contenga un data frame para cada año (anio). ```r list_anio = split(guaguas, guaguas$anio) ``` -- 4.2 Construye una función que cree dos nuevas variables en un data frame: ```r create_first_last = function(df, var){ df %>% mutate(first_letters = str_sub({{var}}, 1, 2), last_letters = str_sub({{var}}, -2, -1)) } ``` -- 4.3 Recorre la lista de data frames por año aplicando tu función. ```r map(list_anio, create_first_last, nombre) ``` ``` ## $`1920` ## # A tibble: 2,028 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1920 María F 2130 0.104 Ma ía ## 2 1920 José M 984 0.0483 Jo sé ## 3 1920 Juan M 636 0.0312 Ju an ## 4 1920 Luis M 631 0.0310 Lu is ## 5 1920 Rosa F 426 0.0209 Ro sa ## 6 1920 Ana F 340 0.0167 An na ## 7 1920 Manuel M 326 0.0160 Ma el ## 8 1920 Olga F 289 0.0142 Ol ga ## 9 1920 Carlos M 277 0.0136 Ca os ## 10 1920 Pedro M 269 0.0132 Pe ro ## # i 2,018 more rows ## ## $`1921` ## # A tibble: 3,094 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1921 María F 4262 0.0924 Ma ía ## 2 1921 José M 2543 0.0551 Jo sé ## 3 1921 Juan M 1680 0.0364 Ju an ## 4 1921 Luis M 1586 0.0344 Lu is ## 5 1921 Manuel M 843 0.0183 Ma el ## 6 1921 Rosa F 832 0.0180 Ro sa ## 7 1921 Carlos M 753 0.0163 Ca os ## 8 1921 Ana F 699 0.0151 An na ## 9 1921 Pedro M 680 0.0147 Pe ro ## 10 1921 Juana F 561 0.0122 Ju na ## # i 3,084 more rows ## ## $`1922` ## # A tibble: 3,241 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1922 María F 4358 0.0896 Ma ía ## 2 1922 José M 2661 0.0547 Jo sé ## 3 1922 Juan M 1752 0.0360 Ju an ## 4 1922 Luis M 1692 0.0348 Lu is ## 5 1922 Manuel M 924 0.0190 Ma el ## 6 1922 Rosa F 886 0.0182 Ro sa ## 7 1922 Ana F 765 0.0157 An na ## 8 1922 Carlos M 744 0.0153 Ca os ## 9 1922 Pedro M 671 0.0138 Pe ro ## 10 1922 Juana F 601 0.0124 Ju na ## # i 3,231 more rows ## ## $`1923` ## # A tibble: 3,344 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1923 María F 4386 0.0866 Ma ía ## 2 1923 José M 2677 0.0529 Jo sé ## 3 1923 Juan M 1907 0.0377 Ju an ## 4 1923 Luis M 1851 0.0366 Lu is ## 5 1923 Manuel M 982 0.0194 Ma el ## 6 1923 Rosa F 899 0.0178 Ro sa ## 7 1923 Carlos M 790 0.0156 Ca os ## 8 1923 Ana F 693 0.0137 An na ## 9 1923 Pedro M 685 0.0135 Pe ro ## 10 1923 Olga F 581 0.0115 Ol ga ## # i 3,334 more rows ## ## $`1924` ## # A tibble: 3,526 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1924 María F 4799 0.0867 Ma ía ## 2 1924 José M 2909 0.0525 Jo sé ## 3 1924 Juan M 2032 0.0367 Ju an ## 4 1924 Luis M 1972 0.0356 Lu is ## 5 1924 Manuel M 1041 0.0188 Ma el ## 6 1924 Rosa F 920 0.0166 Ro sa ## 7 1924 Carlos M 852 0.0154 Ca os ## 8 1924 Ana F 782 0.0141 An na ## 9 1924 Pedro M 752 0.0136 Pe ro ## 10 1924 Juana F 647 0.0117 Ju na ## # i 3,516 more rows ## ## $`1925` ## # A tibble: 3,544 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1925 María F 4822 0.0836 Ma ía ## 2 1925 José M 3080 0.0534 Jo sé ## 3 1925 Juan M 2078 0.0360 Ju an ## 4 1925 Luis M 2056 0.0357 Lu is ## 5 1925 Manuel M 1078 0.0187 Ma el ## 6 1925 Rosa F 998 0.0173 Ro sa ## 7 1925 Carlos M 895 0.0155 Ca os ## 8 1925 Ana F 810 0.0140 An na ## 9 1925 Pedro M 778 0.0135 Pe ro ## 10 1925 Juana F 679 0.0118 Ju na ## # i 3,534 more rows ## ## $`1926` ## # A tibble: 3,649 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1926 María F 5015 0.0820 Ma ía ## 2 1926 José M 3122 0.0510 Jo sé ## 3 1926 Luis M 2285 0.0374 Lu is ## 4 1926 Juan M 2265 0.0370 Ju an ## 5 1926 Manuel M 1138 0.0186 Ma el ## 6 1926 Rosa F 1040 0.0170 Ro sa ## 7 1926 Carlos M 950 0.0155 Ca os ## 8 1926 Pedro M 854 0.0140 Pe ro ## 9 1926 Ana F 850 0.0139 An na ## 10 1926 Juana F 694 0.0113 Ju na ## # i 3,639 more rows ## ## $`1927` ## # A tibble: 3,902 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1927 María F 5503 0.0779 Ma ía ## 2 1927 José M 3626 0.0513 Jo sé ## 3 1927 Luis M 2649 0.0375 Lu is ## 4 1927 Juan M 2550 0.0361 Ju an ## 5 1927 Manuel M 1337 0.0189 Ma el ## 6 1927 Carlos M 1282 0.0181 Ca os ## 7 1927 Rosa F 1180 0.0167 Ro sa ## 8 1927 Ana F 989 0.0140 An na ## 9 1927 Pedro M 980 0.0139 Pe ro ## 10 1927 Juana F 815 0.0115 Ju na ## # i 3,892 more rows ## ## $`1928` ## # A tibble: 4,511 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1928 María F 7579 0.0799 Ma ía ## 2 1928 José M 5263 0.0555 Jo sé ## 3 1928 Juan M 3710 0.0391 Ju an ## 4 1928 Luis M 3406 0.0359 Lu is ## 5 1928 Manuel M 1899 0.0200 Ma el ## 6 1928 Rosa F 1774 0.0187 Ro sa ## 7 1928 Carlos M 1595 0.0168 Ca os ## 8 1928 Pedro M 1367 0.0144 Pe ro ## 9 1928 Ana F 1335 0.0141 An na ## 10 1928 Juana F 1143 0.0120 Ju na ## # i 4,501 more rows ## ## $`1929` ## # A tibble: 4,531 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1929 María F 7001 0.0766 Ma ía ## 2 1929 José M 4876 0.0534 Jo sé ## 3 1929 Luis M 3469 0.0380 Lu is ## 4 1929 Juan M 3427 0.0375 Ju an ## 5 1929 Manuel M 1791 0.0196 Ma el ## 6 1929 Rosa F 1652 0.0181 Ro sa ## 7 1929 Carlos M 1535 0.0168 Ca os ## 8 1929 Pedro M 1328 0.0145 Pe ro ## 9 1929 Ana F 1238 0.0135 An na ## 10 1929 Juana F 1076 0.0118 Ju na ## # i 4,521 more rows ## ## $`1930` ## # A tibble: 4,667 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1930 María F 6979 0.0748 Ma ía ## 2 1930 José M 4545 0.0487 Jo sé ## 3 1930 Luis M 3514 0.0377 Lu is ## 4 1930 Juan M 3430 0.0368 Ju an ## 5 1930 Manuel M 1824 0.0195 Ma el ## 6 1930 Rosa F 1635 0.0175 Ro sa ## 7 1930 Carlos M 1609 0.0172 Ca os ## 8 1930 Pedro M 1286 0.0138 Pe ro ## 9 1930 Ana F 1217 0.0130 An na ## 10 1930 Juana F 1017 0.0109 Ju na ## # i 4,657 more rows ## ## $`1931` ## # A tibble: 4,376 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1931 María F 6128 0.0735 Ma ía ## 2 1931 José M 4066 0.0488 Jo sé ## 3 1931 Luis M 3157 0.0379 Lu is ## 4 1931 Juan M 3018 0.0362 Ju an ## 5 1931 Manuel M 1529 0.0183 Ma el ## 6 1931 Carlos M 1372 0.0165 Ca os ## 7 1931 Rosa F 1361 0.0163 Ro sa ## 8 1931 Ana F 1184 0.0142 An na ## 9 1931 Pedro M 1099 0.0132 Pe ro ## 10 1931 Jorge M 1039 0.0125 Jo ge ## # i 4,366 more rows ## ## $`1932` ## # A tibble: 4,460 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1932 María F 5941 0.0726 Ma ía ## 2 1932 José M 3795 0.0464 Jo sé ## 3 1932 Juan M 2906 0.0355 Ju an ## 4 1932 Luis M 2880 0.0352 Lu is ## 5 1932 Manuel M 1449 0.0177 Ma el ## 6 1932 Rosa F 1420 0.0174 Ro sa ## 7 1932 Carlos M 1388 0.0170 Ca os ## 8 1932 Ana F 1101 0.0135 An na ## 9 1932 Jorge M 1072 0.0131 Jo ge ## 10 1932 Pedro M 1054 0.0129 Pe ro ## # i 4,450 more rows ## ## $`1933` ## # A tibble: 4,516 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1933 María F 5732 0.0707 Ma ía ## 2 1933 José M 3666 0.0452 Jo sé ## 3 1933 Juan M 2909 0.0359 Ju an ## 4 1933 Luis M 2908 0.0358 Lu is ## 5 1933 Manuel M 1448 0.0178 Ma el ## 6 1933 Rosa F 1380 0.0170 Ro sa ## 7 1933 Carlos M 1329 0.0164 Ca os ## 8 1933 Ana F 1072 0.0132 An na ## 9 1933 Pedro M 1064 0.0131 Pe ro ## 10 1933 Jorge M 1002 0.0124 Jo ge ## # i 4,506 more rows ## ## $`1934` ## # A tibble: 4,647 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1934 María F 6038 0.0721 Ma ía ## 2 1934 José M 3785 0.0452 Jo sé ## 3 1934 Luis M 3078 0.0367 Lu is ## 4 1934 Juan M 3024 0.0361 Ju an ## 5 1934 Manuel M 1531 0.0183 Ma el ## 6 1934 Rosa F 1484 0.0177 Ro sa ## 7 1934 Carlos M 1381 0.0165 Ca os ## 8 1934 Ana F 1143 0.0136 An na ## 9 1934 Pedro M 1027 0.0123 Pe ro ## 10 1934 Jorge M 1014 0.0121 Jo ge ## # i 4,637 more rows ## ## $`1935` ## # A tibble: 4,766 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1935 María F 6187 0.0707 Ma ía ## 2 1935 José M 3968 0.0453 Jo sé ## 3 1935 Luis M 3219 0.0368 Lu is ## 4 1935 Juan M 3155 0.0360 Ju an ## 5 1935 Manuel M 1586 0.0181 Ma el ## 6 1935 Rosa F 1563 0.0179 Ro sa ## 7 1935 Carlos M 1489 0.0170 Ca os ## 8 1935 Ana F 1191 0.0136 An na ## 9 1935 Pedro M 1089 0.0124 Pe ro ## 10 1935 Jorge M 1066 0.0122 Jo ge ## # i 4,756 more rows ## ## $`1936` ## # A tibble: 4,853 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1936 María F 6562 0.0721 Ma ía ## 2 1936 José M 4135 0.0454 Jo sé ## 3 1936 Luis M 3281 0.0360 Lu is ## 4 1936 Juan M 3196 0.0351 Ju an ## 5 1936 Rosa F 1697 0.0186 Ro sa ## 6 1936 Manuel M 1633 0.0179 Ma el ## 7 1936 Carlos M 1456 0.0160 Ca os ## 8 1936 Ana F 1250 0.0137 An na ## 9 1936 Pedro M 1156 0.0127 Pe ro ## 10 1936 Jorge M 1155 0.0127 Jo ge ## # i 4,843 more rows ## ## $`1937` ## # A tibble: 5,039 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1937 María F 6888 0.0710 Ma ía ## 2 1937 José M 4424 0.0456 Jo sé ## 3 1937 Luis M 3628 0.0374 Lu is ## 4 1937 Juan M 3447 0.0355 Ju an ## 5 1937 Rosa F 1806 0.0186 Ro sa ## 6 1937 Manuel M 1750 0.0180 Ma el ## 7 1937 Carlos M 1620 0.0167 Ca os ## 8 1937 Ana F 1256 0.0129 An na ## 9 1937 Jorge M 1228 0.0127 Jo ge ## 10 1937 Pedro M 1177 0.0121 Pe ro ## # i 5,029 more rows ## ## $`1938` ## # A tibble: 5,008 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1938 María F 7183 0.0718 Ma ía ## 2 1938 José M 4475 0.0447 Jo sé ## 3 1938 Luis M 3743 0.0374 Lu is ## 4 1938 Juan M 3496 0.0349 Ju an ## 5 1938 Rosa F 1863 0.0186 Ro sa ## 6 1938 Manuel M 1765 0.0176 Ma el ## 7 1938 Carlos M 1676 0.0167 Ca os ## 8 1938 Pedro M 1381 0.0138 Pe ro ## 9 1938 Ana F 1378 0.0138 An na ## 10 1938 Jorge M 1268 0.0127 Jo ge ## # i 4,998 more rows ## ## $`1939` ## # A tibble: 5,403 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1939 María F 8653 0.0752 Ma ía ## 2 1939 José M 5402 0.0469 Jo sé ## 3 1939 Juan M 4243 0.0369 Ju an ## 4 1939 Luis M 4235 0.0368 Lu is ## 5 1939 Rosa F 2173 0.0189 Ro sa ## 6 1939 Manuel M 2078 0.0181 Ma el ## 7 1939 Carlos M 1886 0.0164 Ca os ## 8 1939 Pedro M 1647 0.0143 Pe ro ## 9 1939 Ana F 1560 0.0136 An na ## 10 1939 Jorge M 1393 0.0121 Jo ge ## # i 5,393 more rows ## ## $`1940` ## # A tibble: 5,672 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1940 María F 9385 0.0742 Ma ía ## 2 1940 José M 6260 0.0495 Jo sé ## 3 1940 Luis M 4757 0.0376 Lu is ## 4 1940 Juan M 4564 0.0361 Ju an ## 5 1940 Rosa F 2437 0.0193 Ro sa ## 6 1940 Carlos M 2200 0.0174 Ca os ## 7 1940 Manuel M 2172 0.0172 Ma el ## 8 1940 Pedro M 1778 0.0141 Pe ro ## 9 1940 Ana F 1754 0.0139 An na ## 10 1940 Jorge M 1606 0.0127 Jo ge ## # i 5,662 more rows ## ## $`1941` ## # A tibble: 5,744 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1941 María F 10013 0.0751 Ma ía ## 2 1941 José M 6359 0.0477 Jo sé ## 3 1941 Luis M 5086 0.0381 Lu is ## 4 1941 Juan M 4852 0.0364 Ju an ## 5 1941 Rosa F 2612 0.0196 Ro sa ## 6 1941 Manuel M 2501 0.0187 Ma el ## 7 1941 Carlos M 2240 0.0168 Ca os ## 8 1941 Ana F 1912 0.0143 An na ## 9 1941 Pedro M 1783 0.0134 Pe ro ## 10 1941 Jorge M 1668 0.0125 Jo ge ## # i 5,734 more rows ## ## $`1942` ## # A tibble: 5,886 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1942 María F 11435 0.0786 Ma ía ## 2 1942 José M 7164 0.0492 Jo sé ## 3 1942 Juan M 5816 0.0400 Ju an ## 4 1942 Luis M 5558 0.0382 Lu is ## 5 1942 Rosa F 2798 0.0192 Ro sa ## 6 1942 Manuel M 2680 0.0184 Ma el ## 7 1942 Carlos M 2531 0.0174 Ca os ## 8 1942 Ana F 2106 0.0145 An na ## 9 1942 Pedro M 1863 0.0128 Pe ro ## 10 1942 Jorge M 1847 0.0127 Jo ge ## # i 5,876 more rows ## ## $`1943` ## # A tibble: 5,759 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1943 María F 11945 0.0802 Ma ía ## 2 1943 José M 7629 0.0512 Jo sé ## 3 1943 Juan M 5828 0.0391 Ju an ## 4 1943 Luis M 5620 0.0377 Lu is ## 5 1943 Rosa F 2970 0.0199 Ro sa ## 6 1943 Carlos M 2662 0.0179 Ca os ## 7 1943 Manuel M 2649 0.0178 Ma el ## 8 1943 Ana F 2213 0.0149 An na ## 9 1943 Pedro M 1961 0.0132 Pe ro ## 10 1943 Jorge M 1901 0.0128 Jo ge ## # i 5,749 more rows ## ## $`1944` ## # A tibble: 5,882 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1944 María F 12373 0.0805 Ma ía ## 2 1944 José M 7385 0.0481 Jo sé ## 3 1944 Juan M 6095 0.0397 Ju an ## 4 1944 Luis M 5929 0.0386 Lu is ## 5 1944 Rosa F 3151 0.0205 Ro sa ## 6 1944 Manuel M 2810 0.0183 Ma el ## 7 1944 Carlos M 2738 0.0178 Ca os ## 8 1944 Ana F 2398 0.0156 An na ## 9 1944 Jorge M 2015 0.0131 Jo ge ## 10 1944 Pedro M 2008 0.0131 Pe ro ## # i 5,872 more rows ## ## $`1945` ## # A tibble: 5,802 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1945 María F 12969 0.0819 Ma ía ## 2 1945 José M 7599 0.0480 Jo sé ## 3 1945 Juan M 6318 0.0399 Ju an ## 4 1945 Luis M 6280 0.0397 Lu is ## 5 1945 Rosa F 3136 0.0198 Ro sa ## 6 1945 Carlos M 2848 0.0180 Ca os ## 7 1945 Manuel M 2751 0.0174 Ma el ## 8 1945 Ana F 2419 0.0153 An na ## 9 1945 Jorge M 2188 0.0138 Jo ge ## 10 1945 Pedro M 2004 0.0127 Pe ro ## # i 5,792 more rows ## ## $`1946` ## # A tibble: 5,872 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1946 María F 13411 0.0834 Ma ía ## 2 1946 José M 7515 0.0467 Jo sé ## 3 1946 Luis M 6522 0.0406 Lu is ## 4 1946 Juan M 6362 0.0396 Ju an ## 5 1946 Rosa F 3191 0.0199 Ro sa ## 6 1946 Carlos M 2996 0.0186 Ca os ## 7 1946 Manuel M 2743 0.0171 Ma el ## 8 1946 Ana F 2683 0.0167 An na ## 9 1946 Jorge M 2280 0.0142 Jo ge ## 10 1946 Pedro M 2011 0.0125 Pe ro ## # i 5,862 more rows ## ## $`1947` ## # A tibble: 6,191 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1947 María F 14529 0.0843 Ma ía ## 2 1947 José M 8331 0.0483 Jo sé ## 3 1947 Luis M 6800 0.0395 Lu is ## 4 1947 Juan M 6763 0.0392 Ju an ## 5 1947 Rosa F 3455 0.0200 Ro sa ## 6 1947 Carlos M 3161 0.0183 Ca os ## 7 1947 Manuel M 3030 0.0176 Ma el ## 8 1947 Ana F 2917 0.0169 An na ## 9 1947 Jorge M 2384 0.0138 Jo ge ## 10 1947 Pedro M 2229 0.0129 Pe ro ## # i 6,181 more rows ## ## $`1948` ## # A tibble: 6,121 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1948 María F 15631 0.0880 Ma ía ## 2 1948 José M 8203 0.0462 Jo sé ## 3 1948 Luis M 7138 0.0402 Lu is ## 4 1948 Juan M 6821 0.0384 Ju an ## 5 1948 Rosa F 3689 0.0208 Ro sa ## 6 1948 Carlos M 3338 0.0188 Ca os ## 7 1948 Manuel M 3065 0.0173 Ma el ## 8 1948 Ana F 2971 0.0167 An na ## 9 1948 Jorge M 2470 0.0139 Jo ge ## 10 1948 Pedro M 2316 0.0130 Pe ro ## # i 6,111 more rows ## ## $`1949` ## # A tibble: 6,136 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1949 María F 15269 0.0860 Ma ía ## 2 1949 José M 8132 0.0458 Jo sé ## 3 1949 Luis M 7091 0.0400 Lu is ## 4 1949 Juan M 6932 0.0391 Ju an ## 5 1949 Rosa F 3620 0.0204 Ro sa ## 6 1949 Carlos M 3488 0.0197 Ca os ## 7 1949 Ana F 3075 0.0173 An na ## 8 1949 Manuel M 3069 0.0173 Ma el ## 9 1949 Jorge M 2526 0.0142 Jo ge ## 10 1949 Pedro M 2265 0.0128 Pe ro ## # i 6,126 more rows ## ## $`1950` ## # A tibble: 6,075 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1950 María F 15023 0.0859 Ma ía ## 2 1950 José M 7812 0.0447 Jo sé ## 3 1950 Luis M 7079 0.0405 Lu is ## 4 1950 Juan M 6977 0.0399 Ju an ## 5 1950 Rosa F 3551 0.0203 Ro sa ## 6 1950 Carlos M 3294 0.0188 Ca os ## 7 1950 Ana F 3061 0.0175 An na ## 8 1950 Manuel M 2915 0.0167 Ma el ## 9 1950 Jorge M 2485 0.0142 Jo ge ## 10 1950 Pedro M 2259 0.0129 Pe ro ## # i 6,065 more rows ## ## $`1951` ## # A tibble: 6,130 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1951 María F 15522 0.0865 Ma ía ## 2 1951 José M 8002 0.0446 Jo sé ## 3 1951 Juan M 7141 0.0398 Ju an ## 4 1951 Luis M 7133 0.0398 Lu is ## 5 1951 Rosa F 3679 0.0205 Ro sa ## 6 1951 Carlos M 3557 0.0198 Ca os ## 7 1951 Ana F 3200 0.0178 An na ## 8 1951 Manuel M 2980 0.0166 Ma el ## 9 1951 Jorge M 2589 0.0144 Jo ge ## 10 1951 Pedro M 2329 0.0130 Pe ro ## # i 6,120 more rows ## ## $`1952` ## # A tibble: 6,300 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1952 María F 16580 0.0873 Ma ía ## 2 1952 José M 8336 0.0439 Jo sé ## 3 1952 Juan M 7524 0.0396 Ju an ## 4 1952 Luis M 7319 0.0385 Lu is ## 5 1952 Carlos M 4507 0.0237 Ca os ## 6 1952 Rosa F 3987 0.0210 Ro sa ## 7 1952 Ana F 3387 0.0178 An na ## 8 1952 Manuel M 3101 0.0163 Ma el ## 9 1952 Jorge M 2643 0.0139 Jo ge ## 10 1952 Pedro M 2433 0.0128 Pe ro ## # i 6,290 more rows ## ## $`1953` ## # A tibble: 6,890 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1953 María F 19566 0.0869 Ma ía ## 2 1953 José M 9922 0.0441 Jo sé ## 3 1953 Juan M 9124 0.0405 Ju an ## 4 1953 Luis M 9020 0.0401 Lu is ## 5 1953 Carlos M 4938 0.0219 Ca os ## 6 1953 Rosa F 4594 0.0204 Ro sa ## 7 1953 Ana F 4260 0.0189 An na ## 8 1953 Manuel M 3691 0.0164 Ma el ## 9 1953 Jorge M 3371 0.0150 Jo ge ## 10 1953 Pedro M 2852 0.0127 Pe ro ## # i 6,880 more rows ## ## $`1954` ## # A tibble: 7,158 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1954 María F 20172 0.0854 Ma ía ## 2 1954 José M 10444 0.0442 Jo sé ## 3 1954 Juan M 9680 0.0410 Ju an ## 4 1954 Luis M 9282 0.0393 Lu is ## 5 1954 Rosa F 5071 0.0215 Ro sa ## 6 1954 Carlos M 4899 0.0207 Ca os ## 7 1954 Ana F 4423 0.0187 An na ## 8 1954 Manuel M 3896 0.0165 Ma el ## 9 1954 Jorge M 3646 0.0154 Jo ge ## 10 1954 Pedro M 2940 0.0124 Pe ro ## # i 7,148 more rows ## ## $`1955` ## # A tibble: 7,309 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1955 María F 21448 0.0851 Ma ía ## 2 1955 José M 11092 0.0440 Jo sé ## 3 1955 Juan M 10657 0.0423 Ju an ## 4 1955 Luis M 9790 0.0389 Lu is ## 5 1955 Rosa F 5349 0.0212 Ro sa ## 6 1955 Carlos M 5205 0.0207 Ca os ## 7 1955 Ana F 4817 0.0191 An na ## 8 1955 Manuel M 4105 0.0163 Ma el ## 9 1955 Jorge M 4026 0.0160 Jo ge ## 10 1955 Pedro M 3165 0.0126 Pe ro ## # i 7,299 more rows ## ## $`1956` ## # A tibble: 7,499 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1956 María F 21013 0.0826 Ma ía ## 2 1956 Juan M 10781 0.0424 Ju an ## 3 1956 José M 10565 0.0415 Jo sé ## 4 1956 Luis M 9735 0.0382 Lu is ## 5 1956 Carlos M 5175 0.0203 Ca os ## 6 1956 Rosa F 5099 0.0200 Ro sa ## 7 1956 Ana F 4872 0.0191 An na ## 8 1956 Jorge M 4248 0.0167 Jo ge ## 9 1956 Manuel M 3911 0.0154 Ma el ## 10 1956 Pedro M 3136 0.0123 Pe ro ## # i 7,489 more rows ## ## $`1957` ## # A tibble: 7,326 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1957 María F 20154 0.0799 Ma ía ## 2 1957 Juan M 10463 0.0415 Ju an ## 3 1957 José M 10063 0.0399 Jo sé ## 4 1957 Luis M 9516 0.0377 Lu is ## 5 1957 Carlos M 5064 0.0201 Ca os ## 6 1957 Rosa F 4914 0.0195 Ro sa ## 7 1957 Ana F 4777 0.0189 An na ## 8 1957 Jorge M 4469 0.0177 Jo ge ## 9 1957 Manuel M 3976 0.0158 Ma el ## 10 1957 Patricia F 3112 0.0123 Pa ia ## # i 7,316 more rows ## ## $`1958` ## # A tibble: 7,406 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1958 María F 19593 0.0778 Ma ía ## 2 1958 Juan M 10520 0.0418 Ju an ## 3 1958 José M 9651 0.0383 Jo sé ## 4 1958 Luis M 9616 0.0382 Lu is ## 5 1958 Jorge M 5127 0.0203 Jo ge ## 6 1958 Rosa F 4838 0.0192 Ro sa ## 7 1958 Carlos M 4837 0.0192 Ca os ## 8 1958 Ana F 4749 0.0188 An na ## 9 1958 Manuel M 3721 0.0148 Ma el ## 10 1958 Patricia F 3149 0.0125 Pa ia ## # i 7,396 more rows ## ## $`1959` ## # A tibble: 7,585 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1959 María F 19701 0.0756 Ma ía ## 2 1959 Juan M 10786 0.0414 Ju an ## 3 1959 José M 10004 0.0384 Jo sé ## 4 1959 Luis M 9807 0.0376 Lu is ## 5 1959 Jorge M 5142 0.0197 Jo ge ## 6 1959 Carlos M 4936 0.0189 Ca os ## 7 1959 Rosa F 4909 0.0188 Ro sa ## 8 1959 Ana F 4812 0.0185 An na ## 9 1959 Manuel M 3806 0.0146 Ma el ## 10 1959 Patricia F 3490 0.0134 Pa ia ## # i 7,575 more rows ## ## $`1960` ## # A tibble: 7,556 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1960 María F 19581 0.0743 Ma ía ## 2 1960 Juan M 10911 0.0414 Ju an ## 3 1960 José M 10152 0.0385 Jo sé ## 4 1960 Luis M 9689 0.0368 Lu is ## 5 1960 Jorge M 5013 0.0190 Jo ge ## 6 1960 Rosa F 4868 0.0185 Ro sa ## 7 1960 Carlos M 4793 0.0182 Ca os ## 8 1960 Ana F 4641 0.0176 An na ## 9 1960 Manuel M 3805 0.0144 Ma el ## 10 1960 Patricia F 3493 0.0133 Pa ia ## # i 7,546 more rows ## ## $`1961` ## # A tibble: 7,663 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1961 María F 19244 0.0711 Ma ía ## 2 1961 Juan M 11186 0.0413 Ju an ## 3 1961 Luis M 10121 0.0374 Lu is ## 4 1961 José M 10049 0.0371 Jo sé ## 5 1961 Carlos M 4948 0.0183 Ca os ## 6 1961 Jorge M 4887 0.0181 Jo ge ## 7 1961 Rosa F 4860 0.0180 Ro sa ## 8 1961 Ana F 4719 0.0174 An na ## 9 1961 Manuel M 3757 0.0139 Ma el ## 10 1961 Patricia F 3601 0.0133 Pa ia ## # i 7,653 more rows ## ## $`1962` ## # A tibble: 7,825 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1962 María F 19862 0.0703 Ma ía ## 2 1962 Juan M 11581 0.0410 Ju an ## 3 1962 José M 10354 0.0366 Jo sé ## 4 1962 Luis M 10143 0.0359 Lu is ## 5 1962 Jorge M 5323 0.0188 Jo ge ## 6 1962 Carlos M 5083 0.0180 Ca os ## 7 1962 Rosa F 4907 0.0174 Ro sa ## 8 1962 Ana F 4799 0.0170 An na ## 9 1962 Manuel M 3776 0.0134 Ma el ## 10 1962 Patricia F 3531 0.0125 Pa ia ## # i 7,815 more rows ## ## $`1963` ## # A tibble: 7,892 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1963 María F 19135 0.0670 Ma ía ## 2 1963 Juan M 11409 0.0400 Ju an ## 3 1963 Luis M 10399 0.0364 Lu is ## 4 1963 José M 10237 0.0359 Jo sé ## 5 1963 Carlos M 5187 0.0182 Ca os ## 6 1963 Jorge M 5128 0.0180 Jo ge ## 7 1963 Ana F 4774 0.0167 An na ## 8 1963 Rosa F 4657 0.0163 Ro sa ## 9 1963 Manuel M 3777 0.0132 Ma el ## 10 1963 Patricia F 3511 0.0123 Pa ia ## # i 7,882 more rows ## ## $`1964` ## # A tibble: 7,910 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1964 María F 18845 0.0648 Ma ía ## 2 1964 Juan M 11194 0.0385 Ju an ## 3 1964 Luis M 10372 0.0357 Lu is ## 4 1964 José M 10223 0.0352 Jo sé ## 5 1964 Carlos M 5013 0.0172 Ca os ## 6 1964 Ana F 4760 0.0164 An na ## 7 1964 Rosa F 4720 0.0162 Ro sa ## 8 1964 Jorge M 4717 0.0162 Jo ge ## 9 1964 Manuel M 3694 0.0127 Ma el ## 10 1964 Patricia F 3432 0.0118 Pa ia ## # i 7,900 more rows ## ## $`1965` ## # A tibble: 8,356 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1965 María F 20382 0.0638 Ma ía ## 2 1965 Juan M 13009 0.0407 Ju an ## 3 1965 José M 11790 0.0369 Jo sé ## 4 1965 Luis M 11030 0.0345 Lu is ## 5 1965 Carlos M 5381 0.0169 Ca os ## 6 1965 Jorge M 5021 0.0157 Jo ge ## 7 1965 Ana F 4970 0.0156 An na ## 8 1965 Rosa F 4936 0.0155 Ro sa ## 9 1965 Manuel M 4099 0.0128 Ma el ## 10 1965 Patricia F 3680 0.0115 Pa ia ## # i 8,346 more rows ## ## $`1966` ## # A tibble: 8,415 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1966 María F 19182 0.0600 Ma ía ## 2 1966 Juan M 13146 0.0411 Ju an ## 3 1966 José M 11758 0.0368 Jo sé ## 4 1966 Luis M 11207 0.0351 Lu is ## 5 1966 Carlos M 5389 0.0169 Ca os ## 6 1966 Rosa F 5058 0.0158 Ro sa ## 7 1966 Jorge M 4832 0.0151 Jo ge ## 8 1966 Ana F 4808 0.0150 An na ## 9 1966 Manuel M 4124 0.0129 Ma el ## 10 1966 Víctor M 3542 0.0111 Ví or ## # i 8,405 more rows ## ## $`1967` ## # A tibble: 8,325 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1967 María F 17584 0.0574 Ma ía ## 2 1967 Juan M 12409 0.0405 Ju an ## 3 1967 José M 10765 0.0351 Jo sé ## 4 1967 Luis M 10533 0.0344 Lu is ## 5 1967 Carlos M 5133 0.0168 Ca os ## 6 1967 Jorge M 4497 0.0147 Jo ge ## 7 1967 Rosa F 4483 0.0146 Ro sa ## 8 1967 Ana F 4414 0.0144 An na ## 9 1967 Manuel M 3718 0.0121 Ma el ## 10 1967 Sandra F 3637 0.0119 Sa ra ## # i 8,315 more rows ## ## $`1968` ## # A tibble: 8,285 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1968 María F 16561 0.0556 Ma ía ## 2 1968 Juan M 12062 0.0405 Ju an ## 3 1968 José M 10473 0.0351 Jo sé ## 4 1968 Luis M 9520 0.0319 Lu is ## 5 1968 Carlos M 4944 0.0166 Ca os ## 6 1968 Jorge M 4421 0.0148 Jo ge ## 7 1968 Sandra F 4101 0.0138 Sa ra ## 8 1968 Rosa F 4073 0.0137 Ro sa ## 9 1968 Ana F 3994 0.0134 An na ## 10 1968 Manuel M 3522 0.0118 Ma el ## # i 8,275 more rows ## ## $`1969` ## # A tibble: 8,079 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1969 María F 15014 0.0525 Ma ía ## 2 1969 Juan M 11664 0.0408 Ju an ## 3 1969 José M 9749 0.0341 Jo sé ## 4 1969 Luis M 8999 0.0314 Lu is ## 5 1969 Carlos M 4628 0.0162 Ca os ## 6 1969 Jorge M 4092 0.0143 Jo ge ## 7 1969 Ana F 3836 0.0134 An na ## 8 1969 Sandra F 3835 0.0134 Sa ra ## 9 1969 Rosa F 3677 0.0128 Ro sa ## 10 1969 Claudia F 3617 0.0126 Cl ia ## # i 8,069 more rows ## ## $`1970` ## # A tibble: 8,231 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1970 María F 14098 0.0494 Ma ía ## 2 1970 Juan M 11205 0.0393 Ju an ## 3 1970 José M 9347 0.0328 Jo sé ## 4 1970 Luis M 8776 0.0308 Lu is ## 5 1970 Carlos M 5076 0.0178 Ca os ## 6 1970 Jorge M 4197 0.0147 Jo ge ## 7 1970 Claudia F 4033 0.0141 Cl ia ## 8 1970 Ana F 3613 0.0127 An na ## 9 1970 Rosa F 3561 0.0125 Ro sa ## 10 1970 Sandra F 3506 0.0123 Sa ra ## # i 8,221 more rows ## ## $`1971` ## # A tibble: 8,775 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1971 María F 15687 0.0490 Ma ía ## 2 1971 Juan M 12502 0.0390 Ju an ## 3 1971 José M 10354 0.0323 Jo sé ## 4 1971 Luis M 9612 0.0300 Lu is ## 5 1971 Carlos M 5596 0.0175 Ca os ## 6 1971 Claudia F 4386 0.0137 Cl ia ## 7 1971 Paola F 4319 0.0135 Pa la ## 8 1971 Jorge M 4315 0.0135 Jo ge ## 9 1971 Ana F 4190 0.0131 An na ## 10 1971 Rosa F 4109 0.0128 Ro sa ## # i 8,765 more rows ## ## $`1972` ## # A tibble: 8,803 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1972 María F 14889 0.0469 Ma ía ## 2 1972 Juan M 12030 0.0379 Ju an ## 3 1972 José M 9977 0.0314 Jo sé ## 4 1972 Luis M 9317 0.0293 Lu is ## 5 1972 Carlos M 5511 0.0174 Ca os ## 6 1972 Claudia F 4755 0.0150 Cl ia ## 7 1972 Paola F 4340 0.0137 Pa la ## 8 1972 Cristian M 4158 0.0131 Cr an ## 9 1972 Jorge M 4049 0.0127 Jo ge ## 10 1972 Ana F 4030 0.0127 An na ## # i 8,793 more rows ## ## $`1973` ## # A tibble: 8,913 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1973 María F 14086 0.0446 Ma ía ## 2 1973 Juan M 12462 0.0395 Ju an ## 3 1973 José M 9700 0.0307 Jo sé ## 4 1973 Luis M 8769 0.0278 Lu is ## 5 1973 Carlos M 5672 0.0180 Ca os ## 6 1973 Cristian M 5565 0.0176 Cr an ## 7 1973 Claudia F 5011 0.0159 Cl ia ## 8 1973 Jorge M 4060 0.0129 Jo ge ## 9 1973 Rosa F 3717 0.0118 Ro sa ## 10 1973 Ana F 3658 0.0116 An na ## # i 8,903 more rows ## ## $`1974` ## # A tibble: 8,592 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1974 María F 12515 0.0408 Ma ía ## 2 1974 Juan M 10969 0.0358 Ju an ## 3 1974 José M 8524 0.0278 Jo sé ## 4 1974 Luis M 8205 0.0268 Lu is ## 5 1974 Cristian M 6377 0.0208 Cr an ## 6 1974 Carlos M 5367 0.0175 Ca os ## 7 1974 Claudia F 4899 0.0160 Cl ia ## 8 1974 Rodrigo M 4407 0.0144 Ro go ## 9 1974 Jorge M 3892 0.0127 Jo ge ## 10 1974 Sandra F 3586 0.0117 Sa ra ## # i 8,582 more rows ## ## $`1975` ## # A tibble: 8,377 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1975 María F 11456 0.0391 Ma ía ## 2 1975 Juan M 9712 0.0332 Ju an ## 3 1975 José M 7641 0.0261 Jo sé ## 4 1975 Luis M 7412 0.0253 Lu is ## 5 1975 Cristian M 6170 0.0211 Cr an ## 6 1975 Claudia F 5177 0.0177 Cl ia ## 7 1975 Carlos M 4879 0.0167 Ca os ## 8 1975 Rodrigo M 4363 0.0149 Ro go ## 9 1975 Jorge M 3800 0.0130 Jo ge ## 10 1975 Claudio M 3297 0.0113 Cl io ## # i 8,367 more rows ## ## $`1976` ## # A tibble: 8,541 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1976 María F 10454 0.0379 Ma ía ## 2 1976 Juan M 8908 0.0323 Ju an ## 3 1976 José M 7104 0.0257 Jo sé ## 4 1976 Luis M 6728 0.0244 Lu is ## 5 1976 Cristian M 6284 0.0228 Cr an ## 6 1976 Claudia F 4883 0.0177 Cl ia ## 7 1976 Carlos M 4616 0.0167 Ca os ## 8 1976 Rodrigo M 4269 0.0155 Ro go ## 9 1976 Jorge M 3533 0.0128 Jo ge ## 10 1976 Carolina F 3484 0.0126 Ca na ## # i 8,531 more rows ## ## $`1977` ## # A tibble: 8,309 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1977 María F 9854 0.0374 Ma ía ## 2 1977 Juan M 8170 0.0310 Ju an ## 3 1977 José M 6491 0.0246 Jo sé ## 4 1977 Cristian M 6364 0.0241 Cr an ## 5 1977 Luis M 6264 0.0237 Lu is ## 6 1977 Claudia F 4265 0.0162 Cl ia ## 7 1977 Carlos M 4237 0.0161 Ca os ## 8 1977 Rodrigo M 3983 0.0151 Ro go ## 9 1977 Carolina F 3876 0.0147 Ca na ## 10 1977 Jorge M 3436 0.0130 Jo ge ## # i 8,299 more rows ## ## $`1978` ## # A tibble: 8,254 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1978 María F 10024 0.0384 Ma ía ## 2 1978 Juan M 8372 0.0321 Ju an ## 3 1978 José M 6611 0.0253 Jo sé ## 4 1978 Luis M 6226 0.0238 Lu is ## 5 1978 Cristian M 5498 0.0211 Cr an ## 6 1978 Carolina F 4655 0.0178 Ca na ## 7 1978 Carlos M 4552 0.0174 Ca os ## 8 1978 Rodrigo M 3974 0.0152 Ro go ## 9 1978 Claudia F 3804 0.0146 Cl ia ## 10 1978 Jorge M 3289 0.0126 Jo ge ## # i 8,244 more rows ## ## $`1979` ## # A tibble: 8,626 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1979 María F 10173 0.0376 Ma ía ## 2 1979 Juan M 8373 0.0310 Ju an ## 3 1979 José M 6681 0.0247 Jo sé ## 4 1979 Luis M 6170 0.0228 Lu is ## 5 1979 Cristian M 5185 0.0192 Cr an ## 6 1979 Carolina F 5163 0.0191 Ca na ## 7 1979 Carlos M 4509 0.0167 Ca os ## 8 1979 Rodrigo M 4407 0.0163 Ro go ## 9 1979 Jorge M 3839 0.0142 Jo ge ## 10 1979 Claudia F 3690 0.0136 Cl ia ## # i 8,616 more rows ## ## $`1980` ## # A tibble: 8,958 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1980 María F 10382 0.0365 Ma ía ## 2 1980 Juan M 8136 0.0286 Ju an ## 3 1980 José M 7310 0.0257 Jo sé ## 4 1980 Luis M 6309 0.0222 Lu is ## 5 1980 Carolina F 6263 0.0220 Ca na ## 6 1980 Cristian M 5724 0.0201 Cr an ## 7 1980 Rodrigo M 5094 0.0179 Ro go ## 8 1980 Carlos M 4505 0.0158 Ca os ## 9 1980 Claudia F 4095 0.0144 Cl ia ## 10 1980 Jorge M 3953 0.0139 Jo ge ## # i 8,948 more rows ## ## $`1981` ## # A tibble: 9,534 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1981 María F 12563 0.0396 Ma ía ## 2 1981 Juan M 8998 0.0283 Ju an ## 3 1981 José M 8049 0.0253 Jo sé ## 4 1981 Luis M 7006 0.0221 Lu is ## 5 1981 Carolina F 6668 0.0210 Ca na ## 6 1981 Cristian M 6612 0.0208 Cr an ## 7 1981 Rodrigo M 5291 0.0167 Ro go ## 8 1981 Carlos M 5016 0.0158 Ca os ## 9 1981 Claudia F 4424 0.0139 Cl ia ## 10 1981 Jorge M 4186 0.0132 Jo ge ## # i 9,524 more rows ## ## $`1982` ## # A tibble: 9,869 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1982 María F 12169 0.0372 Ma ía ## 2 1982 Juan M 8757 0.0268 Ju an ## 3 1982 José M 8187 0.0250 Jo sé ## 4 1982 Luis M 7024 0.0215 Lu is ## 5 1982 Cristian M 6645 0.0203 Cr an ## 6 1982 Carolina F 5826 0.0178 Ca na ## 7 1982 Carlos M 5530 0.0169 Ca os ## 8 1982 Rodrigo M 4928 0.0151 Ro go ## 9 1982 Claudia F 4388 0.0134 Cl ia ## 10 1982 Jorge M 4273 0.0131 Jo ge ## # i 9,859 more rows ## ## $`1983` ## # A tibble: 9,832 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1983 María F 11609 0.0366 Ma ía ## 2 1983 Juan M 8226 0.0260 Ju an ## 3 1983 José M 7780 0.0245 Jo sé ## 4 1983 Luis M 6576 0.0207 Lu is ## 5 1983 Carolina F 5925 0.0187 Ca na ## 6 1983 Cristian M 5903 0.0186 Cr an ## 7 1983 Carlos M 5102 0.0161 Ca os ## 8 1983 Rodrigo M 4604 0.0145 Ro go ## 9 1983 Jorge M 3947 0.0125 Jo ge ## 10 1983 Claudia F 3697 0.0117 Cl ia ## # i 9,822 more rows ## ## $`1984` ## # A tibble: 8,748 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1984 María F 8804 0.0319 Ma ía ## 2 1984 Juan M 6492 0.0235 Ju an ## 3 1984 José M 6221 0.0225 Jo sé ## 4 1984 Carolina F 5387 0.0195 Ca na ## 5 1984 Cristian M 5255 0.0190 Cr an ## 6 1984 Luis M 5209 0.0189 Lu is ## 7 1984 Carlos M 4320 0.0156 Ca os ## 8 1984 Daniela F 3876 0.0140 Da la ## 9 1984 Rodrigo M 3796 0.0137 Ro go ## 10 1984 Jorge M 3388 0.0123 Jo ge ## # i 8,738 more rows ## ## $`1985` ## # A tibble: 8,965 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1985 María F 8537 0.0322 Ma ía ## 2 1985 Juan M 5938 0.0224 Ju an ## 3 1985 Luis M 5715 0.0216 Lu is ## 4 1985 José M 5476 0.0207 Jo sé ## 5 1985 Cristian M 4696 0.0177 Cr an ## 6 1985 Carolina F 4551 0.0172 Ca na ## 7 1985 Víctor M 4104 0.0155 Ví or ## 8 1985 Carlos M 3883 0.0146 Ca os ## 9 1985 Daniela F 3774 0.0142 Da la ## 10 1985 Rodrigo M 3449 0.0130 Ro go ## # i 8,955 more rows ## ## $`1986` ## # A tibble: 9,721 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1986 María F 8181 0.0299 Ma ía ## 2 1986 Juan M 6006 0.0220 Ju an ## 3 1986 Luis M 5375 0.0197 Lu is ## 4 1986 José M 5055 0.0185 Jo sé ## 5 1986 Daniela F 4503 0.0165 Da la ## 6 1986 Cristian M 4487 0.0164 Cr an ## 7 1986 Carolina F 4206 0.0154 Ca na ## 8 1986 Carlos M 3879 0.0142 Ca os ## 9 1986 Francisco M 3815 0.0139 Fr co ## 10 1986 Felipe M 3418 0.0125 Fe pe ## # i 9,711 more rows ## ## $`1987` ## # A tibble: 10,019 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1987 María F 8693 0.0312 Ma ía ## 2 1987 Juan M 6551 0.0235 Ju an ## 3 1987 Luis M 5049 0.0181 Lu is ## 4 1987 José M 4868 0.0175 Jo sé ## 5 1987 Francisco M 4557 0.0164 Fr co ## 6 1987 Daniela F 4493 0.0161 Da la ## 7 1987 Cristian M 4269 0.0153 Cr an ## 8 1987 Carolina F 3814 0.0137 Ca na ## 9 1987 Carlos M 3686 0.0132 Ca os ## 10 1987 Felipe M 3638 0.0131 Fe pe ## # i 10,009 more rows ## ## $`1988` ## # A tibble: 10,815 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1988 María F 8450 0.0285 Ma ía ## 2 1988 Juan M 6094 0.0205 Ju an ## 3 1988 Luis M 5354 0.0180 Lu is ## 4 1988 José M 5199 0.0175 Jo sé ## 5 1988 Daniela F 5096 0.0172 Da la ## 6 1988 Francisco M 4505 0.0152 Fr co ## 7 1988 Cristian M 4031 0.0136 Cr an ## 8 1988 Felipe M 3745 0.0126 Fe pe ## 9 1988 Carlos M 3712 0.0125 Ca os ## 10 1988 Carolina F 3683 0.0124 Ca na ## # i 10,805 more rows ## ## $`1989` ## # A tibble: 11,283 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1989 María F 8383 0.0277 Ma ía ## 2 1989 Juan M 5868 0.0194 Ju an ## 3 1989 José M 5453 0.0180 Jo sé ## 4 1989 Luis M 5082 0.0168 Lu is ## 5 1989 Daniela F 4975 0.0165 Da la ## 6 1989 Francisco M 4559 0.0151 Fr co ## 7 1989 Camila F 4212 0.0139 Ca la ## 8 1989 Sebastián M 4068 0.0135 Se án ## 9 1989 Felipe M 3923 0.0130 Fe pe ## 10 1989 Carlos M 3788 0.0125 Ca os ## # i 11,273 more rows ## ## $`1990` ## # A tibble: 11,495 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1990 María F 8086 0.0262 Ma ía ## 2 1990 Juan M 5839 0.0189 Ju an ## 3 1990 José M 5461 0.0177 Jo sé ## 4 1990 Daniela F 4686 0.0152 Da la ## 5 1990 Camila F 4680 0.0152 Ca la ## 6 1990 Luis M 4634 0.0150 Lu is ## 7 1990 Sebastián M 4632 0.0150 Se án ## 8 1990 Nicole F 4478 0.0145 Ni le ## 9 1990 Francisco M 4468 0.0145 Fr co ## 10 1990 Carlos M 4089 0.0133 Ca os ## # i 11,485 more rows ## ## $`1991` ## # A tibble: 11,452 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1991 María F 7889 0.0262 Ma ía ## 2 1991 Diego M 5742 0.0190 Di go ## 3 1991 José M 5365 0.0178 Jo sé ## 4 1991 Juan M 5335 0.0177 Ju an ## 5 1991 Camila F 4789 0.0159 Ca la ## 6 1991 Sebastián M 4498 0.0149 Se án ## 7 1991 Daniela F 4390 0.0146 Da la ## 8 1991 Luis M 4312 0.0143 Lu is ## 9 1991 Felipe M 4286 0.0142 Fe pe ## 10 1991 Francisco M 3974 0.0132 Fr co ## # i 11,442 more rows ## ## $`1992` ## # A tibble: 11,488 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1992 María F 7716 0.0260 Ma ía ## 2 1992 Felipe M 5479 0.0185 Fe pe ## 3 1992 Camila F 5302 0.0179 Ca la ## 4 1992 Diego M 4988 0.0168 Di go ## 5 1992 Juan M 4888 0.0165 Ju an ## 6 1992 José M 4793 0.0162 Jo sé ## 7 1992 Luis M 4570 0.0154 Lu is ## 8 1992 Sebastián M 4145 0.0140 Se án ## 9 1992 Daniela F 4144 0.0140 Da la ## 10 1992 Francisco M 3698 0.0125 Fr co ## # i 11,478 more rows ## ## $`1993` ## # A tibble: 11,607 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1993 María F 7330 0.0250 Ma ía ## 2 1993 Camila F 6045 0.0206 Ca la ## 3 1993 José M 5143 0.0176 Jo sé ## 4 1993 Felipe M 5073 0.0173 Fe pe ## 5 1993 Daniela F 4613 0.0158 Da la ## 6 1993 Juan M 4521 0.0154 Ju an ## 7 1993 Diego M 4352 0.0149 Di go ## 8 1993 Luis M 4224 0.0144 Lu is ## 9 1993 Nicolás M 4180 0.0143 Ni ás ## 10 1993 Sebastián M 3943 0.0135 Se án ## # i 11,597 more rows ## ## $`1994` ## # A tibble: 11,588 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1994 Camila F 9233 0.0319 Ca la ## 2 1994 María F 7190 0.0248 Ma ía ## 3 1994 José M 4992 0.0172 Jo sé ## 4 1994 Daniela F 4742 0.0164 Da la ## 5 1994 Felipe M 4645 0.0160 Fe pe ## 6 1994 Juan M 4471 0.0154 Ju an ## 7 1994 Luis M 4267 0.0147 Lu is ## 8 1994 Nicolás M 4169 0.0144 Ni ás ## 9 1994 Constanza F 3999 0.0138 Co za ## 10 1994 Diego M 3918 0.0135 Di go ## # i 11,578 more rows ## ## $`1995` ## # A tibble: 11,114 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1995 Camila F 9004 0.0321 Ca la ## 2 1995 María F 6636 0.0237 Ma ía ## 3 1995 Sebastián M 4618 0.0165 Se án ## 4 1995 José M 4588 0.0164 Jo sé ## 5 1995 Felipe M 4463 0.0159 Fe pe ## 6 1995 Matías M 4337 0.0155 Ma as ## 7 1995 Juan M 4083 0.0146 Ju an ## 8 1995 Daniela F 3904 0.0139 Da la ## 9 1995 Constanza F 3873 0.0138 Co za ## 10 1995 Luis M 3805 0.0136 Lu is ## # i 11,104 more rows ## ## $`1996` ## # A tibble: 11,201 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1996 Camila F 8175 0.0293 Ca la ## 2 1996 María F 6275 0.0225 Ma ía ## 3 1996 Javiera F 6219 0.0223 Ja ra ## 4 1996 Matías M 5355 0.0192 Ma as ## 5 1996 Sebastián M 4430 0.0159 Se án ## 6 1996 José M 4402 0.0158 Jo sé ## 7 1996 Nicolás M 4290 0.0154 Ni ás ## 8 1996 Felipe M 4073 0.0146 Fe pe ## 9 1996 Constanza F 3709 0.0133 Co za ## 10 1996 Diego M 3683 0.0132 Di go ## # i 11,191 more rows ## ## $`1997` ## # A tibble: 11,260 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1997 Camila F 7122 0.0262 Ca la ## 2 1997 Javiera F 6849 0.0252 Ja ra ## 3 1997 María F 5774 0.0213 Ma ía ## 4 1997 Nicolás M 5590 0.0206 Ni ás ## 5 1997 Matías M 5100 0.0188 Ma as ## 6 1997 Diego M 4845 0.0178 Di go ## 7 1997 Sebastián M 4776 0.0176 Se án ## 8 1997 Felipe M 4107 0.0151 Fe pe ## 9 1997 Francisca F 4090 0.0151 Fr ca ## 10 1997 Constanza F 3946 0.0145 Co za ## # i 11,250 more rows ## ## $`1998` ## # A tibble: 11,346 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1998 Javiera F 7473 0.0281 Ja ra ## 2 1998 Camila F 7266 0.0273 Ca la ## 3 1998 Nicolás M 6090 0.0229 Ni ás ## 4 1998 María F 5665 0.0213 Ma ía ## 5 1998 Matías M 5591 0.0210 Ma as ## 6 1998 Sebastián M 4726 0.0178 Se án ## 7 1998 Catalina F 4706 0.0177 Ca na ## 8 1998 Diego M 4295 0.0161 Di go ## 9 1998 José M 4184 0.0157 Jo sé ## 10 1998 Francisca F 3872 0.0145 Fr ca ## # i 11,336 more rows ## ## $`1999` ## # A tibble: 11,375 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 1999 Javiera F 6765 0.0262 Ja ra ## 2 1999 Nicolás M 5999 0.0232 Ni ás ## 3 1999 Catalina F 5680 0.0220 Ca na ## 4 1999 Camila F 5500 0.0213 Ca la ## 5 1999 Matías M 5177 0.0200 Ma as ## 6 1999 María F 4789 0.0185 Ma ía ## 7 1999 Sebastián M 4712 0.0182 Se án ## 8 1999 Valentina F 4203 0.0163 Va na ## 9 1999 Diego M 4046 0.0157 Di go ## 10 1999 José M 3611 0.0140 Jo sé ## # i 11,365 more rows ## ## $`2000` ## # A tibble: 11,437 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2000 Javiera F 6430 0.0254 Ja ra ## 2 2000 Sebastián M 5692 0.0224 Se án ## 3 2000 Nicolás M 5233 0.0206 Ni ás ## 4 2000 Catalina F 5229 0.0206 Ca na ## 5 2000 Camila F 5061 0.0200 Ca la ## 6 2000 Matías M 4836 0.0191 Ma as ## 7 2000 María F 4753 0.0187 Ma ía ## 8 2000 Diego M 4435 0.0175 Di go ## 9 2000 Valentina F 4069 0.0160 Va na ## 10 2000 José M 3337 0.0132 Jo sé ## # i 11,427 more rows ## ## $`2001` ## # A tibble: 11,688 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2001 Javiera F 5343 0.0212 Ja ra ## 2 2001 Sebastián M 5150 0.0205 Se án ## 3 2001 Matías M 5037 0.0200 Ma as ## 4 2001 Catalina F 4816 0.0191 Ca na ## 5 2001 María F 4484 0.0178 Ma ía ## 6 2001 Valentina F 4305 0.0171 Va na ## 7 2001 Nicolás M 4294 0.0171 Ni ás ## 8 2001 Diego M 4113 0.0163 Di go ## 9 2001 Camila F 4032 0.0160 Ca la ## 10 2001 Constanza F 3848 0.0153 Co za ## # i 11,678 more rows ## ## $`2002` ## # A tibble: 11,665 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2002 Matías M 5317 0.0219 Ma as ## 2 2002 Constanza F 5259 0.0216 Co za ## 3 2002 Catalina F 4768 0.0196 Ca na ## 4 2002 Javiera F 4594 0.0189 Ja ra ## 5 2002 Benjamín M 4495 0.0185 Be ín ## 6 2002 María F 4285 0.0176 Ma ía ## 7 2002 Sebastián M 3868 0.0159 Se án ## 8 2002 Valentina F 3827 0.0157 Va na ## 9 2002 Diego M 3785 0.0156 Di go ## 10 2002 Nicolás M 3685 0.0152 Ni ás ## # i 11,655 more rows ## ## $`2003` ## # A tibble: 11,813 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2003 Benjamín M 6776 0.0284 Be ín ## 2 2003 Catalina F 5454 0.0229 Ca na ## 3 2003 Matías M 4563 0.0192 Ma as ## 4 2003 Javiera F 4479 0.0188 Ja ra ## 5 2003 Valentina F 4424 0.0186 Va na ## 6 2003 Constanza F 4270 0.0179 Co za ## 7 2003 María F 3761 0.0158 Ma ía ## 8 2003 Diego M 3618 0.0152 Di go ## 9 2003 Sebastián M 3512 0.0147 Se án ## 10 2003 Fernanda F 3240 0.0136 Fe da ## # i 11,803 more rows ## ## $`2004` ## # A tibble: 11,586 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2004 Benjamín M 7594 0.0326 Be ín ## 2 2004 Catalina F 4836 0.0207 Ca na ## 3 2004 Valentina F 4593 0.0197 Va na ## 4 2004 Constanza F 4450 0.0191 Co za ## 5 2004 Matías M 4167 0.0179 Ma as ## 6 2004 Javiera F 3815 0.0164 Ja ra ## 7 2004 Fernanda F 3342 0.0143 Fe da ## 8 2004 Diego M 3314 0.0142 Di go ## 9 2004 Sebastián M 3285 0.0141 Se án ## 10 2004 Vicente M 3107 0.0133 Vi te ## # i 11,576 more rows ## ## $`2005` ## # A tibble: 11,718 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2005 Benjamín M 7117 0.0306 Be ín ## 2 2005 Constanza F 4555 0.0196 Co za ## 3 2005 Catalina F 4372 0.0188 Ca na ## 4 2005 Valentina F 4181 0.0180 Va na ## 5 2005 Vicente M 4088 0.0176 Vi te ## 6 2005 Matías M 3923 0.0168 Ma as ## 7 2005 Javiera F 3756 0.0161 Ja ra ## 8 2005 Martina F 3648 0.0157 Ma na ## 9 2005 Diego M 3081 0.0132 Di go ## 10 2005 Martín M 3038 0.0130 Ma ín ## # i 11,708 more rows ## ## $`2006` ## # A tibble: 12,058 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2006 Benjamín M 5290 0.0227 Be ín ## 2 2006 Vicente M 5060 0.0217 Vi te ## 3 2006 Constanza F 4252 0.0182 Co za ## 4 2006 Martina F 4217 0.0181 Ma na ## 5 2006 Catalina F 4000 0.0172 Ca na ## 6 2006 Valentina F 3923 0.0168 Va na ## 7 2006 Benjamin M 3540 0.0152 Be in ## 8 2006 Javiera F 3486 0.0150 Ja ra ## 9 2006 Antonia F 3049 0.0131 An ia ## 10 2006 Matías M 2929 0.0126 Ma as ## # i 12,048 more rows ## ## $`2007` ## # A tibble: 11,979 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2007 Benjamín M 8347 0.0345 Be ín ## 2 2007 Matías M 5902 0.0244 Ma as ## 3 2007 Vicente M 5760 0.0238 Vi te ## 4 2007 Martín M 4786 0.0198 Ma ín ## 5 2007 Sofía F 4603 0.0190 So ía ## 6 2007 Martina F 4451 0.0184 Ma na ## 7 2007 Catalina F 4262 0.0176 Ca na ## 8 2007 Valentina F 3866 0.0160 Va na ## 9 2007 Constanza F 3647 0.0151 Co za ## 10 2007 Antonia F 3545 0.0147 An ia ## # i 11,969 more rows ## ## $`2008` ## # A tibble: 12,253 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2008 Benjamín M 7751 0.0312 Be ín ## 2 2008 Martina F 5590 0.0225 Ma na ## 3 2008 Sofía F 5368 0.0216 So ía ## 4 2008 Vicente M 5242 0.0211 Vi te ## 5 2008 Matías M 5121 0.0206 Ma as ## 6 2008 Martín M 5102 0.0206 Ma ín ## 7 2008 Constanza F 3843 0.0155 Co za ## 8 2008 Catalina F 3604 0.0145 Ca na ## 9 2008 Antonia F 3598 0.0145 An ia ## 10 2008 Valentina F 3502 0.0141 Va na ## # i 12,243 more rows ## ## $`2009` ## # A tibble: 12,222 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2009 Benjamín M 7005 0.0277 Be ín ## 2 2009 Vicente M 5377 0.0212 Vi te ## 3 2009 Martina F 5268 0.0208 Ma na ## 4 2009 Martín M 5070 0.0200 Ma ín ## 5 2009 Matías M 4900 0.0193 Ma as ## 6 2009 Sofía F 4871 0.0192 So ía ## 7 2009 Valentina F 3633 0.0143 Va na ## 8 2009 Antonia F 3626 0.0143 An ia ## 9 2009 Joaquín M 3378 0.0133 Jo ín ## 10 2009 Antonella F 3329 0.0131 An la ## # i 12,212 more rows ## ## $`2010` ## # A tibble: 11,934 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2010 Benjamín M 6021 0.0240 Be ín ## 2 2010 Vicente M 5398 0.0215 Vi te ## 3 2010 Martín M 4975 0.0198 Ma ín ## 4 2010 Martina F 4926 0.0196 Ma na ## 5 2010 Sofía F 4337 0.0173 So ía ## 6 2010 Matías M 4330 0.0172 Ma as ## 7 2010 Florencia F 3818 0.0152 Fl ia ## 8 2010 Valentina F 3592 0.0143 Va na ## 9 2010 Isidora F 3434 0.0137 Is ra ## 10 2010 Joaquín M 3290 0.0131 Jo ín ## # i 11,924 more rows ## ## $`2011` ## # A tibble: 11,719 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2011 Benjamín M 5471 0.0220 Be ín ## 2 2011 Sofía F 4458 0.0179 So ía ## 3 2011 Vicente M 4434 0.0178 Vi te ## 4 2011 Martín M 4370 0.0176 Ma ín ## 5 2011 Antonella F 4001 0.0161 An la ## 6 2011 Florencia F 3834 0.0154 Fl ia ## 7 2011 Martina F 3761 0.0151 Ma na ## 8 2011 Matías M 3751 0.0151 Ma as ## 9 2011 Agustín M 3493 0.0140 Ag ín ## 10 2011 Emilia F 3424 0.0138 Em ia ## # i 11,709 more rows ## ## $`2012` ## # A tibble: 11,595 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2012 Agustín M 6347 0.0260 Ag ín ## 2 2012 Sofía F 4833 0.0198 So ía ## 3 2012 Benjamín M 4467 0.0183 Be ín ## 4 2012 Antonella F 4139 0.0170 An la ## 5 2012 Martín M 4058 0.0166 Ma ín ## 6 2012 Vicente M 3876 0.0159 Vi te ## 7 2012 Emilia F 3654 0.0150 Em ia ## 8 2012 Florencia F 3517 0.0144 Fl ia ## 9 2012 Isidora F 3451 0.0141 Is ra ## 10 2012 Martina F 3419 0.0140 Ma na ## # i 11,585 more rows ## ## $`2013` ## # A tibble: 11,198 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2013 Agustín M 6517 0.0268 Ag ín ## 2 2013 Sofía F 4953 0.0204 So ía ## 3 2013 Emilia F 4630 0.0191 Em ia ## 4 2013 Benjamín M 4143 0.0171 Be ín ## 5 2013 Vicente M 3903 0.0161 Vi te ## 6 2013 Martín M 3643 0.0150 Ma ín ## 7 2013 Florencia F 3481 0.0143 Fl ia ## 8 2013 Antonella F 3428 0.0141 An la ## 9 2013 Martina F 3374 0.0139 Ma na ## 10 2013 Matías M 3209 0.0132 Ma as ## # i 11,188 more rows ## ## $`2014` ## # A tibble: 11,564 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2014 Agustín M 5903 0.0234 Ag ín ## 2 2014 Sofía F 5045 0.0200 So ía ## 3 2014 Emilia F 4834 0.0192 Em ia ## 4 2014 Isidora F 4052 0.0161 Is ra ## 5 2014 Vicente M 3836 0.0152 Vi te ## 6 2014 Benjamín M 3824 0.0152 Be ín ## 7 2014 Martín M 3601 0.0143 Ma ín ## 8 2014 Florencia F 3491 0.0138 Fl ia ## 9 2014 Matías M 3135 0.0124 Ma as ## 10 2014 Mateo M 3095 0.0123 Ma eo ## # i 11,554 more rows ## ## $`2015` ## # A tibble: 11,294 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2015 Agustín M 5355 0.0218 Ag ín ## 2 2015 Sofía F 4518 0.0184 So ía ## 3 2015 Emilia F 3962 0.0161 Em ia ## 4 2015 Benjamín M 3700 0.0151 Be ín ## 5 2015 Isidora F 3667 0.0149 Is ra ## 6 2015 Vicente M 3551 0.0145 Vi te ## 7 2015 Mateo M 3456 0.0141 Ma eo ## 8 2015 Martín M 3370 0.0137 Ma ín ## 9 2015 Florencia F 3346 0.0136 Fl ia ## 10 2015 Alonso M 3222 0.0131 Al so ## # i 11,284 more rows ## ## $`2016` ## # A tibble: 11,348 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2016 Agustín M 4300 0.0185 Ag ín ## 2 2016 Mateo M 4084 0.0175 Ma eo ## 3 2016 Sofía F 3866 0.0166 So ía ## 4 2016 Isidora F 3586 0.0154 Is ra ## 5 2016 Benjamín M 3582 0.0154 Be ín ## 6 2016 Emilia F 3364 0.0144 Em ia ## 7 2016 Vicente M 3214 0.0138 Vi te ## 8 2016 Joaquín M 3110 0.0134 Jo ín ## 9 2016 Florencia F 3045 0.0131 Fl ia ## 10 2016 Martín M 2866 0.0123 Ma ín ## # i 11,338 more rows ## ## $`2017` ## # A tibble: 12,462 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2017 Mateo M 4736 0.0216 Ma eo ## 2 2017 Agustín M 3714 0.0169 Ag ín ## 3 2017 Sofía F 3461 0.0158 So ía ## 4 2017 Agustina F 3127 0.0143 Ag na ## 5 2017 Emilia F 2930 0.0134 Em ia ## 6 2017 Isidora F 2904 0.0132 Is ra ## 7 2017 Joaquín M 2761 0.0126 Jo ín ## 8 2017 Benjamín M 2758 0.0126 Be ín ## 9 2017 Vicente M 2715 0.0124 Vi te ## 10 2017 Florencia F 2698 0.0123 Fl ia ## # i 12,452 more rows ## ## $`2018` ## # A tibble: 15,697 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2018 Mateo M 4468 0.0201 Ma eo ## 2 2018 Agustina F 3924 0.0176 Ag na ## 3 2018 Agustín M 3466 0.0156 Ag ín ## 4 2018 Isabella F 3083 0.0138 Is la ## 5 2018 Tomás M 3073 0.0138 To ás ## 6 2018 Sofía F 3047 0.0137 So ía ## 7 2018 Emilia F 2726 0.0122 Em ia ## 8 2018 Santiago M 2684 0.0121 Sa go ## 9 2018 Isidora F 2656 0.0119 Is ra ## 10 2018 Benjamín M 2459 0.0110 Be ín ## # i 15,687 more rows ## ## $`2019` ## # A tibble: 15,041 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2019 Mateo M 4152 0.0196 Ma eo ## 2 2019 Isabella F 3101 0.0147 Is la ## 3 2019 Agustina F 2932 0.0139 Ag na ## 4 2019 Sofía F 2924 0.0138 So ía ## 5 2019 Agustín M 2869 0.0136 Ag ín ## 6 2019 Santiago M 2658 0.0126 Sa go ## 7 2019 Emilia F 2596 0.0123 Em ia ## 8 2019 Tomás M 2570 0.0122 To ás ## 9 2019 Benjamín M 2537 0.0120 Be ín ## 10 2019 Lucas M 2468 0.0117 Lu as ## # i 15,031 more rows ## ## $`2020` ## # A tibble: 14,001 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2020 Mateo M 3866 0.0198 Ma eo ## 2 2020 Agustín M 2535 0.0130 Ag ín ## 3 2020 Sofía F 2465 0.0126 So ía ## 4 2020 Isabella F 2463 0.0126 Is la ## 5 2020 Emilia F 2410 0.0124 Em ia ## 6 2020 Agustina F 2321 0.0119 Ag na ## 7 2020 Emma F 2233 0.0115 Em ma ## 8 2020 Benjamín M 2218 0.0114 Be ín ## 9 2020 Tomás M 2186 0.0112 To ás ## 10 2020 Lucas M 2146 0.0110 Lu as ## # i 13,991 more rows ## ## $`2021` ## # A tibble: 13,265 x 7 ## anio nombre sexo n proporcion first_letters last_letters ## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr> ## 1 2021 Mateo M 3267 0.0184 Ma eo ## 2 2021 Emma F 2352 0.0132 Em ma ## 3 2021 Sofía F 2251 0.0126 So ía ## 4 2021 Isabella F 2155 0.0121 Is la ## 5 2021 Lucas M 2054 0.0115 Lu as ## 6 2021 Emilia F 2044 0.0115 Em ia ## 7 2021 Agustín M 1972 0.0111 Ag ín ## 8 2021 Benjamín M 1935 0.0109 Be ín ## 9 2021 Agustina F 1816 0.0102 Ag na ## 10 2021 Santiago M 1809 0.0102 Sa go ## # i 13,255 more rows ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Otras expresiones regulares (regex) <br/> -- Vamos a revisar algunas de las expresiones regulares más utilizadas. -- Primero intentaremos interpretarlas en base a la .pur[intuición]. -- <table> <thead> <tr> <th style="text-align:left;"> symbol </th> <th style="text-align:left;"> mean </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> \\d </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [:digit:] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [0-9] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> \\w </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [:word:] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [A-Z] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [a-z] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [A-Za-z] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [:alpha:] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [aeiou] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> \\s </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> (?i) </td> <td style="text-align:left;"> </td> </tr> </tbody> </table> --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Otras expresiones regulares (regex) -- <table> <thead> <tr> <th style="text-align:left;"> symbol </th> <th style="text-align:left;"> mean </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> a+ </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> a* </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> a? </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> \d{n} </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> a{n,m} </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> a{,m} </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> a{n,} </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [:punct:] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [^ab] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> [^0-9] </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> \D </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> \W </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> \S </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> ^a </td> <td style="text-align:left;"> </td> </tr> <tr> <td style="text-align:left;"> a$ </td> <td style="text-align:left;"> </td> </tr> </tbody> </table> --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Otras expresiones regulares (regex) -- Vamos a revisar algunas de las expresiones regulares más utilizadas <table> <thead> <tr> <th style="text-align:left;"> symbol </th> <th style="text-align:left;"> mean </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> \\d </td> <td style="text-align:left;"> coincide con números </td> </tr> <tr> <td style="text-align:left;"> [:digit:] </td> <td style="text-align:left;"> coincide con números </td> </tr> <tr> <td style="text-align:left;"> [0-9] </td> <td style="text-align:left;"> coincide con números </td> </tr> <tr> <td style="text-align:left;"> \\w </td> <td style="text-align:left;"> coincide con letras, números y guiones bajos </td> </tr> <tr> <td style="text-align:left;"> [:word:] </td> <td style="text-align:left;"> coincide con letras, números y guiones bajos </td> </tr> <tr> <td style="text-align:left;"> [A-Z] </td> <td style="text-align:left;"> coincide con letras mayúsculas </td> </tr> <tr> <td style="text-align:left;"> [a-z] </td> <td style="text-align:left;"> coincide con letras minúsculas </td> </tr> <tr> <td style="text-align:left;"> [A-Za-z] </td> <td style="text-align:left;"> coincide con letras mayúsculas y minúsculas </td> </tr> <tr> <td style="text-align:left;"> [:alpha:] </td> <td style="text-align:left;"> coincide con letras mayúsculas y minúsculas </td> </tr> <tr> <td style="text-align:left;"> [aeiou] </td> <td style="text-align:left;"> entre parentesis cuadrados se pueden crear patrones personalizados </td> </tr> <tr> <td style="text-align:left;"> \\s </td> <td style="text-align:left;"> coincide con espacios </td> </tr> <tr> <td style="text-align:left;"> \\S </td> <td style="text-align:left;"> distinto de espacios </td> </tr> <tr> <td style="text-align:left;"> (?i) </td> <td style="text-align:left;"> case insensitive </td> </tr> </tbody> </table> --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Otras expresiones regulares (regex) -- <table> <thead> <tr> <th style="text-align:left;"> symbol </th> <th style="text-align:left;"> mean </th> </tr> </thead> <tbody> <tr> <td style="text-align:left;"> a+ </td> <td style="text-align:left;"> a al menos una vez </td> </tr> <tr> <td style="text-align:left;"> a* </td> <td style="text-align:left;"> a cero o más veces </td> </tr> <tr> <td style="text-align:left;"> a? </td> <td style="text-align:left;"> a cero o una vez (valor opcional) </td> </tr> <tr> <td style="text-align:left;"> \d{n} </td> <td style="text-align:left;"> entre corchetes se indica una cantidad esperada </td> </tr> <tr> <td style="text-align:left;"> a{n,m} </td> <td style="text-align:left;"> primer valor es mínimo y segundo el máximo </td> </tr> <tr> <td style="text-align:left;"> a{,m} </td> <td style="text-align:left;"> solo el máximo está definido </td> </tr> <tr> <td style="text-align:left;"> a{n,} </td> <td style="text-align:left;"> solo el mínimo está definido </td> </tr> <tr> <td style="text-align:left;"> [:punct:] </td> <td style="text-align:left;"> coincide con caracteres de puntuación y símbolos especiales </td> </tr> <tr> <td style="text-align:left;"> [^ab] </td> <td style="text-align:left;"> distinto de a o b </td> </tr> <tr> <td style="text-align:left;"> [^0-9] </td> <td style="text-align:left;"> distinto de número </td> </tr> <tr> <td style="text-align:left;"> \D </td> <td style="text-align:left;"> distinto de dígito </td> </tr> <tr> <td style="text-align:left;"> \W </td> <td style="text-align:left;"> distinto de letras, números y guiones bajos </td> </tr> <tr> <td style="text-align:left;"> \S </td> <td style="text-align:left;"> distinto de espacio </td> </tr> <tr> <td style="text-align:left;"> ^a </td> <td style="text-align:left;"> a está al principio </td> </tr> <tr> <td style="text-align:left;"> a$ </td> <td style="text-align:left;"> a está al final </td> </tr> </tbody> </table> --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Hagamos ejercicios con texto libre -- Vamos a utilizar una interfaz gráfica que interpreta expresiones regulares. -- .center[ <img src="imagenes/interfaz-regex.PNG" width="700" height = 300 /> ] -- No tiene un intérprete de regex en R, pero .pur[las regex se implementan de forma similar en distintos lenguajes]. -- Para acceder a la interfaz pincha [aquí](https://regex101.com/r/wv8RnO/1). --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Hagamos ejercicios con texto libre -- Utilizaremos el siguiente texto para explorar: -- ```r Hoooola, mi nombre es Ignacio, soy sociólogo de formación y trabajo en el INE hace ya algunos años... Mi teléfono es: +569 87622455 / Mi correo electrónico del trabajo es <ifaglonij@ine.gob.cl> Uno de mis correos personales es: <ignacio.aglonij@gmail.com> Como le pasa a mucha gente, el primer correo electrónico que tuve no era muy serio...<gatoflojo@hotmail.cl> Mi dirección es Paseo Bulnes 418, piso 1. Mmmm, ¿qué más les puedo contar? Estoy haciendo un posgrado (o postgrado, no sé cómo se dice), un master en Tecnologías de la Información en la U de Chile y no doy fe de lo que digo aquí sea verdad... (quizas una que otra cosa sí) Esto si que es cierto: Nro tarjeta de crédito: 6753 9870 8768 8976 Fecha de vencimiento: 06/25 Número de seguridad: 896 ``` -- Cópienlo y péguenlo en la interfaz de **regex**. -- Veamos si funcionan algunas de las **regex** que revisamos. --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Hagamos ejercicios con texto libre -- .pur[.big-par[Ahora ustedes:]] -- - Detecta el saludo "Hola", independiente de lo coloquial que sea (de la cantidad de "o"). Prueba dos formas de regex. -- - Capta tanto la palabra "posgrado" como "postgrado". Prueba dos formas de regex. -- - Detecta la expresión "Mmmm". -- - Detecta el patrón del número de celular completo. -- - Valida el patrón de los correos gmail y hotmail. -- - Valida el patrón de un correo INE (@ine.gob.cl). -- - Detecta un patrón de número de tarjeta de crédito. -- - Detecta una fecha de vencimiento de una tarjeta de crédito. --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Hagamos ejercicios con texto libre -- .pur[.big-par[Respuestas:]] -- - Detecta el saludo "Hola", independiente de lo coloquial que sea (de la cantidad de "o"). Prueba dos formas de regex. ```r Ho+la | Ho*la ``` -- - Capta tanto la palabra "posgrado" como "postgrado". Prueba dos formas de regex. ```r post?grado | po(s|st)grado ``` -- - Detecta la expresión "Mmmm". ```r (?i)(Mm+) ``` -- - Detecta el patrón del número de celular completo. ```r \+\d{3}\s\d{8} ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Hagamos ejercicios con texto libre -- .pur[.big-par[Respuestas:]] -- - Valida el patrón de los correos gmail y hotmail. ```r \w+\.?\w+\@\w+.\w{2,3} ``` -- - Valida el patrón de un correo INE (@ine.gob.cl). ```r [a-z]+\@[a-z]{3}.[a-z]{3}.[a-z]{2} ``` -- - Detecta un patrón de número de tarjeta de crédito. ```r ([0-9]{4}\s){3}[0-9]{4} ``` -- - Detecta una fecha de vencimiento de una tarjeta de crédito. ```r [0-9]{2}/[0-9]{2} ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Otras aplicaciones con regex -- Utilizaremos la base de datos "telefonos". -- **Nota:** base de datos y ejemplos tomados de charla de Riva Quiroga Steph Orellana en Latin R 2020. -- ```r library(readr) telefonos <- read_csv("data/telefonos.csv") ``` -- .medium-par-red[¿Qué pueden observar sobre la variable "ciudad"?] -- ```r telefonos %>% count(ciudad) ``` ``` ## # A tibble: 9 x 2 ## ciudad n ## <chr> <int> ## 1 La Serena 2 ## 2 Olmué 2 ## 3 Serena 2 ## 4 Valparaiso 1 ## 5 Valparaíso 5 ## 6 quilpue 1 ## 7 quilpué 3 ## 8 valparaiso 1 ## 9 valparaíso 2 ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Otras aplicaciones con regex -- <br/> Las ciudades están escritas de distinta manera. Esto es muy propio de los RRAA, cuando las personas ingresan sus propios datos. -- Para poder captar a todas las observaciones de Quilpué debemos hacer lo siguiente. -- ```r telefonos %>% filter(str_detect(ciudad, "quilpu(e|é)")) ``` ``` ## # A tibble: 4 x 3 ## nombre ciudad numero_telefonico ## <chr> <chr> <chr> ## 1 Hernández, Lautaro quilpué 56 964379583 ## 2 Sanhueza, Pedro quilpué 56 981408973 ## 3 Aníbal García quilpue 982733747 ## 4 Gómez, Lirayén quilpué 914257483 ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Otras aplicaciones con regex -- .medium.par[¿Cómo podrías captar a todas las menciones de Valparaiso?] -- ```r telefonos %>% filter(str_detect(ciudad, "(?i)valpara[i|í]so")) %>% count(ciudad) ``` ``` ## # A tibble: 4 x 2 ## ciudad n ## <chr> <int> ## 1 Valparaiso 1 ## 2 Valparaíso 5 ## 3 valparaiso 1 ## 4 valparaíso 2 ``` -- También observamos que "La Serena" está referido de dos formas diferentes. ```r telefonos %>% filter(str_detect(ciudad, "Serena")) %>% count(ciudad) ``` ``` ## # A tibble: 2 x 2 ## ciudad n ## <chr> <int> ## 1 La Serena 2 ## 2 Serena 2 ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio express -- 1- .medium-par[¿Cómo lo harían para homologar la ciudad en una variable limpia?] -- **hint:** pueden usar `case_when()` para crear una variable limpia `ciudad_clean`. -- 2- Como pueden observar, los teléfonos no están en un solo formato. -- ```r telefonos %>% select(numero_telefonico) %>% head() ``` ``` ## # A tibble: 6 x 1 ## numero_telefonico ## <chr> ## 1 +56 981497134 ## 2 928374591 ## 3 56 964379583 ## 4 987654321 ## 5 +56-983726153 ## 6 914230795 ``` Podemos usar las herramientas aprendidas para homologar el formato, eliminando los números que son estandar en una nueva variable `fono_clean`. --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio express -- .pur[.big-par[Respuestas:]] -- 1- Limpieza ciudad. ```r telefonos = telefonos %>% mutate(ciudad_clean = case_when( str_detect(ciudad, "(?i)valpara[i|í]so") ~ "Valparaíso", str_detect(ciudad, "quilpu[e|é]") ~ "Quilpué", str_detect(ciudad,"Serena") ~ "La Serena", TRUE ~ as.character(ciudad))) telefonos %>% count(ciudad_clean) ``` ``` ## # A tibble: 4 x 2 ## ciudad_clean n ## <chr> <int> ## 1 La Serena 4 ## 2 Olmué 2 ## 3 Quilpué 4 ## 4 Valparaíso 9 ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio express -- .pur[.big-par[Respuestas:]] -- 2- Limpieza fono. ```r telefonos = telefonos %>% mutate(fono_clean = str_sub(numero_telefonico, start = -8 , end = -1)) telefonos %>% select(numero_telefonico, fono_clean) %>% head() ``` ``` ## # A tibble: 6 x 2 ## numero_telefonico fono_clean ## <chr> <chr> ## 1 +56 981497134 81497134 ## 2 928374591 28374591 ## 3 56 964379583 64379583 ## 4 987654321 87654321 ## 5 +56-983726153 83726153 ## 6 914230795 14230795 ``` --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Otras aplicaciones con regex -- <br/> .medium-par[Como pueden ver, las utilidades de las .pur[regex] y de stringr son casi infinitas]. -- .medium-par[Las regex permiten la .pur[automatización] de muchas tareas de .pur[validación y depuración] de datos]. -- .medium-par[Es muy difícil manejar todas las herramientas, lo importante es .pur[entender su lógica y saber buscar]]. --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio para la 🏠 -- A partir de la base de datos de la encuesta Casen 2020, disponible en la carpeta de la clase de hoy "casen_2020_edit.feather", realice las siguientes tareas ```r library(feather) library(tidyverse) casen = read_feather("data/casen_2020_edit.feather") ``` 1- Ayudándote de expresiones regulares, y de la manera más suscinta que puedas, selecciona todas las variables de cuestionario de: - el módulo de Ocupación - el módulo de vivienda El output debe ser una tabla solo con las variables de cada módulo, por separado. **nota:** puedes omitir las variables construidas ex-post en cada módulo. --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio para la 🏠 -- 2- La tabla "casen_2020_edit.feather" contiene las variables `o9a`, `o9b` y `o24`, que representan, respectivamente, "ocupación", "tareas en la ocupación" y "rama de actividad económica" de las personas que declaran estar ocupadas en el periodo de referencia. Estas variables son utilizadas como insumo para la codificación automática de los clasificadores de ocupación y rama de actividad económica. Crea una función que reciba como argumento una variable character y la procese de la siguiente manera: - Pase todos los caracteres de una glosa a minúscula - Remueva todos los signos de puntuación y caracteres especiales - Remueva todos los números - Extraiga espacios adicionales entre palabras - Remueva *stopwords* (para esto pueden usar las librerías `tm`, `quanteda`, entre otras) La función debe retornar una variable con glosas procesadas. No es necesario que evalúes tu función, basta con el código 😁 --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Ejercicio para la 🏠 <br/> -- Las tareas deberán ser entregadas a través de git. En el repositorio de gitlab que hemos estado usando existe una rama llamada tareas, en la cual hay una carpeta para cada clase. Hagan fetch (o pull) de esa rama y empujen sus tareas a la carpeta correspondiente. La estructura del archivo debe ser la siguiente: nombre_apellido1_apellido2.R La url es la siguiente: https://github.com/clase-git/clase-curso-bulnes2 **Nota: Es deseable que las tareas solo contengan funciones** --- background-image: url("imagenes/fondo2.PNG") background-size: contain; background-position: 100% 0% # Referencias .medium-par[Nada de esto sería posible sin:] - [Tutorial de Stringr](https://stringr.tidyverse.org/) - [Expresiones regulares en R, Diego Calvo](https://www.diegocalvo.es/expresiones-regulares-en-r/) - [Expresiones regulares en R, Yubar Marín](https://rpubs.com/ydmarinb/429756) - [R for Data Science, de Hadley Wickham, , capítulo 14](https://r4ds.had.co.nz/) - [Advanced R, de Hadley Wickham](http://adv-r.had.co.nz/Introduction.html) - [Introduction to R, de Data Carpentry](https://datacarpentry.org/R-genomics/01-intro-to-R.html#functions) - [Xaringan: Presentation Ninja, de Yihui Xie](https://github.com/yihui/xaringan). Para generar esta presentación con la plantilla ninja ⚔ .medium-par[R for Data Science tiene una traducción al español realizada por la comunidad hispana de R:] - [R para ciencia de datos, de Hadley Wickham, capítulo 14](https://es.r4ds.hadley.nz/) --- class: center, middle .linea-superior[] .linea-inferior[] <img src="imagenes/logo_portada2.png" width="200" /> ## Capacitación en R y herramientas de productividad - nivel intermedio ## Proyecto Ciencia de Datos ## Strings y Regex