Capítulo20 Cadena de Caracteres = STRINGS

## [1] "2025-11-05"

El tema proviene de los siguientes sitios.

English: https://r4ds.had.co.nz/strings.html

Español: https://es.r4ds.hadley.nz/14-strings.html

library(tidyverse)
library(datos)
library(stringr)

string1 <- "El Pequeño Principe; Saint Exupery"
string2 <- "El segundo sexo: Simone de Beauvoir"
string3 <- "El segundo sexo \\ Simone de Beauvoir"


string1
## [1] "El Pequeño Principe; Saint Exupery"
string2
## [1] "El segundo sexo: Simone de Beauvoir"
string3
## [1] "El segundo sexo \\ Simone de Beauvoir"

Caracteres especiales en cadenas de caracteres

comilla_doble <- '\"' # ó '"'
comilla_simple <- '\'' # ó "'"

comilla_ampersand <- "&"

comilla_doble
## [1] "\""
comilla_simple
## [1] "'"
comilla_ampersand
## [1] "&"

&


Backslash

x <- c("\"", "\\")
x
## [1] "\"" "\\"
writeLines(x)
## "
## \

20.1 Caracteres especiales

"\n"
## [1] "\n"
"\t"
## [1] "\t"

20.2 Para ver las opciones de caracteres y como trabajar cadenas de caracteres use ?“’” para ver

?"'"

‘⁠⁠’ newline (aka ‘line feed’) ‘⁠’ carriage return ‘⁠’ tab ‘⁠’ backspace ‘⁠⁠’ alert (bell) ‘⁠’ form feed ‘⁠’ vertical tab ‘⁠\⁠’ backslash ‘⁠⁠’ ‘⁠'⁠’ ASCII apostrophe ‘⁠’⁠’ ‘⁠"⁠’ ASCII quotation mark ‘⁠“⁠’ ‘⁠`⁠’ ASCII grave accent (backtick) ‘⁠`⁠’


20.3 Lista de caracteres especiales (unicodes)

Vea el siguiente enlace para los unicodes

https://en.wikipedia.org/wiki/List_of_Unicode_characters

x <- "\u00b5" # mu
x
## [1] "µ"
y <- "\u00b6" # pilcrow
y
## [1] "¶"
z <- "\u00A1" # ¡
z
## [1] "¡"
w <- "\u01FC\u00b6" # Ǽ¶
w
## [1] "Ǽ¶"

Escribir si nombre en el alfabeto Cyrilico

  • Vea este enlace para conocer el alfabeto cyrilico

<https://www.google.com/search?client=safari&rls=en&q=cyrillic+alphabet&ie=UTF-8&oe=UTF-8#vhid=cMLOx1fN0Zg5UM&vssid=l>

РЕЙМОНД

Raymond = "\u048E\u0400\u042B\u043C\u043E\u043D\u0434, Asi se escribe mi nombre en ruso"
Raymond
## [1] "ҎЀЫмонд, Asi se escribe mi nombre en ruso"

necesito poner una letra extraña en mi frase, “48E”.


20.4 Temas: Cadenas de Caracteres

  • library(stringr)

Solamente trabajermos con el paquete stringr, donde las funciones escrita de forma que sean más intuitivos para recordar. Todas las funciones conmienzan con str_


20.4.1 El largo de una cadena de caracteres con str_length

library(stringr)
str_length("Yo quiero un Lamborghini")
## [1] 24

20.4.2 Combinar cadenas con str_c

Nota aquí que une la primera oración con la segunda oración

str_c("Es una oración con muchas letras y palabras", 
      "Mi pelicula favorita es Cinema Paraiso")
## [1] "Es una oración con muchas letras y palabrasMi pelicula favorita es Cinema Paraiso"

Usa el argumento sep = “xxx” para controlar cómo separar las oraciones

str_c("Es una oración con muchas letras y palabras", 
      "Mi pelicula favorita es Cinema Paraiso", sep = ", ")
## [1] "Es una oración con muchas letras y palabras, Mi pelicula favorita es Cinema Paraiso"

  • str_replace_na()
x <- c("Mi pelicula favorita es Cinema Paraiso", NA)
x
## [1] "Mi pelicula favorita es Cinema Paraiso"
## [2] NA
str_c("|-", x, "-|")
## [1] "|-Mi pelicula favorita es Cinema Paraiso-|"
## [2] NA

20.5 Dividir cadenas basado en la posición de los caracteres en la cadena

  • str_sub()
x= c( "Piña", "Manzana", "Toronja")
str_sub(x, 1,1)
## [1] "P" "M" "T"

20.5.1 Seleccionar los caracteres al último de las palabras

x= c( "Piña", "Manzana", "Toronja", "Hello")
str_sub(x, -2,-1)
## [1] "ña" "na" "ja" "lo"

20.6 You can also use str_sub() to modify strings:

x <- "BBCDEF"
str_sub(x, 1, 1) <- "A"; x
## [1] "ABCDEF"
x <- "BBCDEF"
str_sub(x, -1, -1) <- "K"; x
## [1] "BBCDEK"
x <- "BBCDEF"
str_sub(x, -2, -2) <- "GHIJ"; x
## [1] "BBCDGHIJF"
x <- "BBCDEF"
str_sub(x, -3, -3) <- "BC"; x
## [1] "BBCBCEF"
x <- "BBCDEF"
str_sub(x, 2, -2) <- ""; x
## [1] "BF"

20.6.1 Cambiar a todo minuscula

x= c( "Piña", "Manzana", "Toronja", "HAPPY")
str_to_lower(x)
## [1] "piña"    "manzana" "toronja" "happy"

20.6.2 Cambiar a mayuscula

x= c( "Piña", "Manzana", "Toronja")
str_to_upper(x)
## [1] "PIÑA"    "MANZANA" "TORONJA"

20.7 Locales

  • ¿Qué es un locale?
  • str_to_lower()
  • str_to_upper()
  • str_order() # que hace esta función?
  • str_sort() # que hace esta función?
x
## [1] "Piña"    "Manzana" "Toronja"
str_order(x) # regresa el orden de las palabras
## [1] 2 1 3
str_sort(x) # reorganiza las palabras en orden alfabético
## [1] "Manzana" "Piña"    "Toronja"

  1. Ejercicios:

Hacer los ejercicios en la sección 14.2.5 del libro en español


20.8 Buscar patrones

20.9 Coincidencia básica

Para visualizar patrones de letras

  • str_view()
  • str_view( , .x.)
library(stringr)
x <- c("manzana", "banana", "pera", "extraer")
str_view(x, "er")
## [3] │ p<er>a
## [4] │ extra<er>

Ejemplo de como uno puede utiliza esas funciones

str_detect()

x= c( "Piña", "Manzana", "Toronja", "Jugo", "Monique", "Raymond", "mami")
str_detect(x, "a") # detectar la a
## [1]  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE
str_detect(x, "i") # detectar la i
## [1]  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE
str_detect(x, "ñ")
## [1]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE

20.9.1 Detectar las palabras que comienzan con una letra específica con “^”. Nota el uso de mayusculas y minusculas y sumamos cuantas palabras cumplen con la condición.

# ¿Cuántas palabras comunes empiezan con m o M?
# str_detect(x, "^M")
x
## [1] "Piña"    "Manzana" "Toronja" "Jugo"    "Monique" "Raymond" "mami"
sum(str_detect(x, "^m"))
## [1] 1
sum(str_detect(x, "^M"))
## [1] 2
sum(str_detect(x, "^[mM]")) # ambas mayusculas y minusculas
## [1] 3

20.9.2 Detectar las palabras que terminan con una letra específica con “$”

# ¿Qué proporción de palabras comunes terminan con una vocal?

library(datos)
mean(str_detect(palabras, "[aáeéiíoóuú]$"))
## [1] 0.561
# ¿Qué proporción de palabras comunes terminan con una vocal especifica?
mean(str_detect(palabras, "[ao]$"))
## [1] 0.428
mean(str_detect(x, "[d]$")) # Raymond
## [1] 0.1428571

Dataset: palabras

  • Comienza para mirar el archivo palabras

  • Cuentas palabras tiene ese archivo?

library(stringr)
library(datos)
palabras
##    [1] "a"               "abril"           "acción"          "acciones"       
##    [5] "acerca"          "actitud"         "actividad"       "actividades"    
##    [9] "acto"            "actual"          "acuerdo"         "adelante"       
##   [13] "además"          "administración"  "afirmó"          "agua"           
##   [17] "ahí"             "ahora"           "aire"            "al"             
##   [21] "algo"            "alguien"         "algún"           "alguna"         
##   [25] "algunas"         "algunos"         "allá"            "allí"           
##   [29] "alrededor"       "alta"            "alto"            "ambiente"       
##   [33] "ambos"           "américa"         "amigo"           "amigos"         
##   [37] "amor"            "análisis"        "animales"        "ante"           
##   [41] "anterior"        "antes"           "antonio"         "año"            
##   [45] "años"            "aparece"         "apenas"          "apoyo"          
##   [49] "aquel"           "aquella"         "aquellas"        "aquellos"       
##   [53] "aquí"            "área"            "argentina"       "armas"          
##   [57] "arriba"          "arte"            "artículo"        "así"            
##   [61] "asimismo"        "asociación"      "aspecto"         "aspectos"       
##   [65] "asunto"          "atención"        "atrás"           "aumento"        
##   [69] "aun"             "aún"             "aunque"          "autor"          
##   [73] "autoridades"     "ayer"            "ayuda"           "b"              
##   [77] "baja"            "bajo"            "banco"           "barcelona"      
##   [81] "base"            "bastante"        "bien"            "blanca"         
##   [85] "blanco"          "boca"            "buen"            "buena"          
##   [89] "bueno"           "buenos"          "busca"           "buscar"         
##   [93] "c"               "cabeza"          "cabo"            "cada"           
##   [97] "calidad"         "calle"           "cama"            "cámara"         
##  [101] "cambio"          "cambios"         "camino"          "campaña"        
##  [105] "campo"           "cantidad"        "capacidad"       "capaz"          
##  [109] "capital"         "cara"            "carácter"        "características"
##  [113] "cargo"           "carlos"          "carne"           "carrera"        
##  [117] "carta"           "casa"            "casi"            "caso"           
##  [121] "casos"           "causa"           "central"         "centro"         
##  [125] "centros"         "cerca"           "chile"           "ciencia"        
##  [129] "ciento"          "cierta"          "cierto"          "cinco"          
##  [133] "cine"            "ciudad"          "civil"           "claro"          
##  [137] "clase"           "club"            "color"           "comenzó"        
##  [141] "comercio"        "comisión"        "como"            "cómo"           
##  [145] "compañía"        "común"           "comunicación"    "comunidad"      
##  [149] "con"             "concepto"        "conciencia"      "condiciones"    
##  [153] "congreso"        "conjunto"        "conocer"         "conocimiento"   
##  [157] "consecuencia"    "conseguir"       "consejo"         "considera"      
##  [161] "constitución"    "construcción"    "consumo"         "contenido"      
##  [165] "contra"          "contrario"       "control"         "corazón"        
##  [169] "corte"           "cosa"            "cosas"           "costa"          
##  [173] "creación"        "crecimiento"     "creo"            "crisis"         
##  [177] "cuadro"          "cual"            "cuales"          "cualquier"      
##  [181] "cuando"          "cuanto"          "cuarto"          "cuatro"         
##  [185] "cuba"            "cuenta"          "cuerpo"          "cuestión"       
##  [189] "cultura"         "cultural"        "curso"           "cuya"           
##  [193] "cuyo"            "d"               "da"              "dado"           
##  [197] "dan"             "dar"             "datos"           "de"             
##  [201] "debe"            "deben"           "debía"           "debido"         
##  [205] "decía"           "decir"           "decisión"        "defensa"        
##  [209] "deja"            "dejar"           "dejó"            "del"            
##  [213] "demás"           "demasiado"       "democracia"      "dentro"         
##  [217] "derecha"         "derecho"         "derechos"        "desarrollo"     
##  [221] "desde"           "deseo"           "después"         "destino"        
##  [225] "día"             "diario"          "días"            "dice"           
##  [229] "dicen"           "dicho"           "diciembre"       "diez"           
##  [233] "diferencia"      "diferentes"      "difícil"         "dijo"           
##  [237] "dinero"          "dio"             "dios"            "dirección"      
##  [241] "director"        "distintas"       "distintos"       "diversas"       
##  [245] "diversos"        "doctor"          "dólares"         "dolor"          
##  [249] "domingo"         "don"             "donde"           "dónde"          
##  [253] "dos"             "duda"            "durante"         "e"              
##  [257] "economía"        "económica"       "económico"       "edad"           
##  [261] "educación"       "efecto"          "efectos"         "ejemplo"        
##  [265] "ejército"        "el"              "él"              "elecciones"     
##  [269] "electoral"       "elementos"       "ella"            "ellas"          
##  [273] "ello"            "ellos"           "embargo"         "empresa"        
##  [277] "empresas"        "en"              "encima"          "encontrar"      
##  [281] "encuentra"       "encuentran"      "encuentro"       "energía"        
##  [285] "enero"           "enfermedad"      "entonces"        "entrada"        
##  [289] "entrar"          "entre"           "época"           "equipo"         
##  [293] "era"             "eran"            "es"              "esa"            
##  [297] "esas"            "escuela"         "ese"             "esfuerzo"       
##  [301] "eso"             "esos"            "espacio"         "españa"         
##  [305] "español"         "española"        "españoles"       "especial"       
##  [309] "especialmente"   "especie"         "espera"          "esta"           
##  [313] "está"            "ésta"            "estaba"          "estaban"        
##  [317] "estado"          "estados"         "estamos"         "están"          
##  [321] "estar"           "estas"           "este"            "éste"           
##  [325] "estilo"          "esto"            "estos"           "estoy"          
##  [329] "estructura"      "estudio"         "estudios"        "estuvo"         
##  [333] "etapa"           "etc"             "europa"          "europea"        
##  [337] "evitar"          "ex"              "existe"          "existen"        
##  [341] "existencia"      "éxito"           "experiencia"     "explicó"        
##  [345] "expresión"       "exterior"        "fácil"           "falta"          
##  [349] "familia"         "favor"           "fecha"           "felipe"         
##  [353] "fernando"        "figura"          "fin"             "final"          
##  [357] "finalmente"      "fiscal"          "flores"          "fondo"          
##  [361] "forma"           "formación"       "formas"          "francia"        
##  [365] "francisco"       "frente"          "fue"             "fuego"          
##  [369] "fuentes"         "fuera"           "fueron"          "fuerte"         
##  [373] "fuerza"          "fuerzas"         "función"         "fútbol"         
##  [377] "futuro"          "g"               "garcía"          "general"        
##  [381] "generales"       "gente"           "gobierno"        "gonzález"       
##  [385] "gracias"         "grado"           "gran"            "grande"         
##  [389] "grandes"         "grupo"           "grupos"          "guerra"         
##  [393] "ha"              "haber"           "había"           "habían"         
##  [397] "habla"           "hablar"          "habrá"           "habría"         
##  [401] "hace"            "hacen"           "hacer"           "hacerlo"        
##  [405] "hacia"           "hacía"           "haciendo"        "han"            
##  [409] "has"             "hasta"           "hay"             "haya"           
##  [413] "he"              "hecho"           "hechos"          "hemos"          
##  [417] "hermano"         "hicieron"        "hija"            "hijo"           
##  [421] "hijos"           "historia"        "hizo"            "hombre"         
##  [425] "hombres"         "hora"            "horas"           "hospital"       
##  [429] "hoy"             "hubiera"         "hubo"            "humana"         
##  [433] "humano"          "humanos"         "i"               "iba"            
##  [437] "idea"            "ideas"           "iglesia"         "igual"          
##  [441] "ii"              "imagen"          "imágenes"        "importancia"    
##  [445] "importante"      "importantes"     "imposible"       "incluso"        
##  [449] "industria"       "información"     "informe"         "instituciones"  
##  [453] "instituto"       "interés"         "intereses"       "interior"       
##  [457] "internacional"   "investigación"   "ir"              "izquierda"      
##  [461] "j"               "jamás"           "jefe"            "jorge"          
##  [465] "josé"            "joven"           "jóvenes"         "juan"           
##  [469] "juego"           "juez"            "juicio"          "julio"          
##  [473] "junio"           "junto"           "justicia"        "la"             
##  [477] "lado"            "larga"           "largo"           "las"            
##  [481] "le"              "lejos"           "lenguaje"        "les"            
##  [485] "ley"             "libertad"        "libre"           "libro"          
##  [489] "libros"          "líder"           "línea"           "llama"          
##  [493] "llamado"         "llega"           "llegado"         "llegar"         
##  [497] "llegó"           "lleva"           "llevar"          "lo"             
##  [501] "local"           "lópez"           "los"             "lucha"          
##  [505] "luego"           "lugar"           "luis"            "luz"            
##  [509] "m"               "madre"           "madrid"          "mal"            
##  [513] "manera"          "mano"            "manos"           "mantener"       
##  [517] "manuel"          "mañana"          "mar"             "marcha"         
##  [521] "marco"           "maría"           "martín"          "marzo"          
##  [525] "más"             "materia"         "material"        "máximo"         
##  [529] "mayo"            "mayor"           "mayores"         "mayoría"        
##  [533] "me"              "media"           "mediante"        "médico"         
##  [537] "medida"          "medidas"         "medio"           "medios"         
##  [541] "mejor"           "mejores"         "memoria"         "menor"          
##  [545] "menos"           "mercado"         "mes"             "mesa"           
##  [549] "meses"           "metros"          "méxico"          "mi"             
##  [553] "mí"              "miedo"           "miembros"        "mientras"       
##  [557] "miguel"          "mil"             "militar"         "militares"      
##  [561] "millones"        "ministerio"      "ministro"        "minutos"        
##  [565] "mira"            "mirada"          "mis"             "misma"          
##  [569] "mismo"           "mismos"          "mitad"           "modelo"         
##  [573] "modo"            "momento"         "momentos"        "movimiento"     
##  [577] "mucha"           "muchas"          "mucho"           "muchos"         
##  [581] "muerte"          "muerto"          "muestra"         "mujer"          
##  [585] "mujeres"         "mundial"         "mundo"           "música"         
##  [589] "muy"             "n"               "nacional"        "nada"           
##  [593] "nadie"           "natural"         "naturaleza"      "necesario"      
##  [597] "necesidad"       "negro"           "ni"              "ningún"         
##  [601] "ninguna"         "niño"            "niños"           "nivel"          
##  [605] "niveles"         "no"              "noche"           "nombre"         
##  [609] "norte"           "nos"             "nosotros"        "noviembre"      
##  [613] "nuestra"         "nuestras"        "nuestro"         "nuestros"       
##  [617] "nueva"           "nuevas"          "nuevo"           "nuevos"         
##  [621] "número"          "nunca"           "o"               "objetivo"       
##  [625] "objeto"          "obra"            "obras"           "obstante"       
##  [629] "ocasión"         "ocasiones"       "ocho"            "octubre"        
##  [633] "oficial"         "ojos"            "operación"       "opinión"        
##  [637] "oposición"       "orden"           "organización"    "origen"         
##  [641] "oro"             "otra"            "otras"           "otro"           
##  [645] "otros"           "p"               "pablo"           "paciente"       
##  [649] "pacientes"       "padre"           "padres"          "país"           
##  [653] "países"          "palabra"         "palabras"        "papel"          
##  [657] "para"            "parece"          "parecía"         "parís"          
##  [661] "parte"           "partes"          "participación"   "particular"     
##  [665] "partido"         "partidos"        "partir"          "pasa"           
##  [669] "pasado"          "pasar"           "paso"            "pasó"           
##  [673] "paz"             "pedro"           "película"        "pensar"         
##  [677] "peor"            "pequeña"         "pequeño"         "perdido"        
##  [681] "período"         "permite"         "pero"            "persona"        
##  [685] "personal"        "personas"        "pesar"           "pese"           
##  [689] "pesetas"         "peso"            "pie"             "piel"           
##  [693] "plan"            "plaza"           "plazo"           "población"      
##  [697] "poco"            "pocos"           "podemos"         "poder"          
##  [701] "podía"           "podrá"           "podría"          "policía"        
##  [705] "política"        "políticas"       "político"        "políticos"      
##  [709] "pone"            "poner"           "popular"         "por"            
##  [713] "porque"          "posibilidad"     "posibilidades"   "posible"        
##  [717] "posición"        "pp"              "práctica"        "precio"         
##  [721] "precios"         "precisamente"    "pregunta"        "premio"         
##  [725] "prensa"          "presencia"       "presenta"        "presente"       
##  [729] "presidente"      "primer"          "primera"         "primeras"       
##  [733] "primero"         "primeros"        "principal"       "principales"    
##  [737] "principio"       "principios"      "problema"        "problemas"      
##  [741] "proceso"         "producción"      "produce"         "producto"       
##  [745] "productos"       "profesional"     "programa"        "programas"      
##  [749] "pronto"          "propia"          "propio"          "propios"        
##  [753] "propuesta"       "próximo"         "proyecto"        "proyectos"      
##  [757] "prueba"          "psoe"            "pública"         "público"        
##  [761] "pudo"            "pueblo"          "pueda"           "puede"          
##  [765] "pueden"          "puedo"           "puerta"          "puerto"         
##  [769] "pues"            "puesto"          "punto"           "puntos"         
##  [773] "puso"            "que"             "qué"             "queda"          
##  [777] "quedó"           "quería"          "quien"           "quién"          
##  [781] "quienes"         "quiere"          "quiero"          "quizá"          
##  [785] "r"               "radio"           "rafael"          "razón"          
##  [789] "razones"         "real"            "realidad"        "realizar"       
##  [793] "recuerdo"        "recursos"        "reforma"         "régimen"        
##  [797] "región"          "relación"        "relaciones"      "república"      
##  [801] "respecto"        "respuesta"       "resto"           "resulta"        
##  [805] "resultado"       "resultados"      "reunión"         "revolución"     
##  [809] "rey"             "riesgo"          "río"             "rodríguez"      
##  [813] "rosa"            "s"               "sabe"            "saber"          
##  [817] "sabía"           "sala"            "salida"          "salir"          
##  [821] "salud"           "san"             "sangre"          "santa"          
##  [825] "santiago"        "se"              "sé"              "sea"            
##  [829] "sean"            "secretario"      "sector"          "sectores"       
##  [833] "seguir"          "según"           "segunda"         "segundo"        
##  [837] "seguridad"       "seguro"          "seis"            "semana"         
##  [841] "semanas"         "sentido"         "señaló"          "señor"          
##  [845] "señora"          "septiembre"      "ser"             "será"           
##  [849] "serán"           "sería"           "serie"           "servicio"       
##  [853] "servicios"       "si"              "sí"              "sido"           
##  [857] "siempre"         "siendo"          "siete"           "siglo"          
##  [861] "sigue"           "siguiente"       "siguientes"      "silencio"       
##  [865] "sin"             "sino"            "siquiera"        "sistema"        
##  [869] "sistemas"        "situación"       "sobre"           "social"         
##  [873] "sociales"        "socialista"      "sociedad"        "sol"            
##  [877] "sola"            "solamente"       "solo"            "sólo"           
##  [881] "solución"        "somos"           "son"             "soy"            
##  [885] "su"              "suelo"           "sueño"           "suerte"         
##  [889] "suficiente"      "superior"        "supuesto"        "sur"            
##  [893] "sus"             "tal"             "tales"           "también"        
##  [897] "tampoco"         "tan"             "tanto"           "tarde"          
##  [901] "te"              "teatro"          "técnica"         "televisión"     
##  [905] "tema"            "temas"           "tendrá"          "tenemos"        
##  [909] "tener"           "tengo"           "tenía"           "tenían"         
##  [913] "tenido"          "teoría"          "tercera"         "términos"       
##  [917] "texto"           "tiempo"          "tiempos"         "tiene"          
##  [921] "tienen"          "tierra"          "tipo"            "tipos"          
##  [925] "título"          "toda"            "todas"           "todavía"        
##  [929] "todo"            "todos"           "toma"            "tomar"          
##  [933] "torno"           "total"           "trabajadores"    "trabajar"       
##  [937] "trabajo"         "tras"            "trata"           "tratamiento"    
##  [941] "través"          "tres"            "tribunal"        "tu"             
##  [945] "tú"              "tuvo"            "u"               "última"         
##  [949] "último"          "últimos"         "un"              "una"            
##  [953] "unas"            "única"           "único"           "unidad"         
##  [957] "unidos"          "unión"           "universidad"     "uno"            
##  [961] "unos"            "uso"             "usted"           "va"             
##  [965] "valor"           "valores"         "vamos"           "van"            
##  [969] "varias"          "varios"          "ve"              "veces"          
##  [973] "ver"             "verdad"          "vez"             "vía"            
##  [977] "viaje"           "victoria"        "vida"            "viejo"          
##  [981] "viene"           "vino"            "vio"             "violencia"      
##  [985] "visita"          "vista"           "visto"           "vivir"          
##  [989] "voluntad"        "volver"          "volvió"          "voy"            
##  [993] "voz"             "vuelta"          "vuelve"          "y"              
##  [997] "ya"              "yo"              "zona"            "zonas"

# Encuentra todas las palabras que contengan al menos una vocal, y luego niégalo
sin_vocales_1 <- !str_detect(palabras, "[aáeéiíoóuúúü]")


sin_vocales_1
##    [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [73] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##   [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
##   [97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [109] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [145] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [193] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [205] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [217] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [229] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [241] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [253] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [265] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [277] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [289] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [301] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [325] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [337] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [349] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [361] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [373] FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE
##  [385] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [397] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [409] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [421] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [433] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [445] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [457] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [481] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [493] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [505] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [517] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [529] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [541] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [553] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [565] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [577] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [589] FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [601] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [613] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [625] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [637] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [649] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [661] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [673] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [685] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [697] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [709] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [721] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [733] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [745] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [757] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [769] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [781] FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [793] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [805] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
##  [817] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [829] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [841] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [853] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [865] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [877] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [889] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [901] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [913] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [925] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [937] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [949] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [961] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [973] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [985] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
##  [997] FALSE FALSE FALSE FALSE
# Encuentra todas las palabras consistentes solo en consonantes (no vocales)
sin_vocales_2 <- str_detect(palabras, "^[^aáeéiíoóuúúü]+$")

identical(sin_vocales_1, sin_vocales_2)
## [1] TRUE

Suma la cantidad de palabras que no tienen vocales?

library(tidyverse)
df <- tibble(
  palabra = palabras, 
  i = seq_along(palabra)
) ## poner los datos en un dataframe 


df %>% 
  filter(str_detect(palabras, "x$")) # filtrar todas la palabras para solamente las terminan en **x**
## # A tibble: 1 × 2
##   palabra     i
##   <chr>   <int>
## 1 ex        338
df %>% 
  filter(str_detect(palabras, "z$")) # filtrar todas la palabras para solamente las terminan en **z**
## # A tibble: 10 × 2
##    palabra       i
##    <chr>     <int>
##  1 capaz       108
##  2 diez        232
##  3 gonzález    384
##  4 juez        470
##  5 lópez       502
##  6 luz         508
##  7 paz         673
##  8 rodríguez   812
##  9 vez         975
## 10 voz         993
library(readr)
fragmentos_neruda_sep <- read_csv("Datos/fragmentos_neruda_sep.csv")

fragmentos_neruda_sep
## # A tibble: 10 × 2
##       id texto                                                                  
##    <dbl> <chr>                                                                  
##  1     1 "\"Puedo\" \"escribir\" \"los\" \"versos\" \"más\" \"tristes\" \"esta\…
##  2     2 "\"Es\" \"tan\" \"corto\" \"el\" \"amor,\" \"y\" \"es\" \"tan\" \"larg…
##  3     3 "\"Me\" \"gustas\" \"cuando\" \"callas\" \"porque\" \"estás\" \"como\"…
##  4     4 "\"Para\" \"que\" \"nada\" \"nos\" \"separe\" \"que\" \"nada\" \"nos\"…
##  5     5 "\"En\" \"un\" \"beso\" \"sabrás\" \"todo\" \"lo\" \"que\" \"he\" \"ca…
##  6     6 "\"Te\" \"amo\" \"como\" \"se\" \"aman\" \"ciertas\" \"cosas\" \"oscur…
##  7     7 "\"Quiero\" \"hacer\" \"contigo\" \"lo\" \"que\" \"la\" \"primavera\" …
##  8     8 "\"Algún\" \"día\" \"en\" \"cualquier\" \"parte,\" \"en\" \"cualquier\…
##  9     9 "\"Si\" \"nada\" \"nos\" \"salva\" \"de\" \"la\" \"muerte,\" \"al\" \"…
## 10    10 "\"Podrán\" \"cortar\" \"todas\" \"las\" \"flores,\" \"pero\" \"no\" \…

Contar cuantas “a” hay en cada palabra con str_count()

#x= c( "Piña", "Manzana", "Toronja", "Jugo")


str_count(fragmentos_neruda_sep, "e")
## [1]  0 57

# En promedio, ¿cuántas vocales hay por palabra?
mean(str_count(palabras, "[aáeéiíoóuúü]"))
## [1] 2.72
mean(str_count(palabras, "[x]"))
## [1] 0.013

Contar cuantas vocales y consonantes hay en cada palabra

df %>% 
  mutate(
    vocales = str_count(palabra, "[aáeéiíoóuúü]"), # Cuenta cuantas vocales 
    consonantes = str_count(palabra, "[^aáeéiíoóuúü]") # cuenta cuantos consonantes
  )
## # A tibble: 1,000 × 4
##    palabra         i vocales consonantes
##    <chr>       <int>   <int>       <int>
##  1 a               1       1           0
##  2 abril           2       2           3
##  3 acción          3       3           3
##  4 acciones        4       4           4
##  5 acerca          5       3           3
##  6 actitud         6       3           4
##  7 actividad       7       4           5
##  8 actividades     8       5           6
##  9 acto            9       2           2
## 10 actual         10       3           3
## # ℹ 990 more rows
  • los puntos y caracteres especiales
  1. Ejercicios:

Hacer los ejercicios en la sección 14.2.7.1 del libro en español


20.10 Anclas

  • ^ al principio
  • $ al final
  1. Ejercicios:

Hacer los ejercicios en la sección 14.2.8.1 del libro en español


20.11 Clases de caracteres y alternativas

  • [abc]

  • [^abc]

  • $ . | ? * + ( ) [ {

str_view(c("cómo", "como", "Raymond"), "c(ó|o)mo")
## [1] │ <cómo>
## [2] │ <como>
  1. Ejercicios:

Hacer los ejercicios en la sección 14.2.9.1 del libro en español


20.12 Repetición

  • ?, 0 o 1, precencia o auscencia
  • +, 1 o más
  • *, 0 o más
  • str_view()
  • {n} : exactamente n
  • {n, }: n o más
  • { , m}: no más de m
  • {n, m}: entre n y m
  • {n, m}?: la cadena más larga
  • {n, m}+?: la cadena más corta
  1. Ejercicios:

Hacer los ejercicios en la sección 14.2.10.1 del libro en español


20.13 Agrupamiento y referencias previas

  • str_view(frutas, “(..)\1”, match=TRUE)
  1. Ejercicios:

Hacer los ejercicios en la sección 14.2.11.1 del libro en español


20.14 Herramientas: Objetivos

  • Determinar qué cadenas coinciden con un patrón.
  • Encontrar la posición de una coincidencia.
  • Extraer el contenido de las coincidencias.
  • Remplazar coincidencias con nuevos valores.
  • Dividir una cadena de acuerdo a una coincidencia.

20.14.1 Detectar coincidencias

  • str_detect(x, “e”)
library(datos) 
#fruit
head(palabras)
## [1] "a"        "abril"    "acción"   "acciones" "acerca"   "actitud"
# Encuentra todas las palabras que contengan al menos una vocal, y luego niégalo
sin_vocales_1 <- !str_detect(palabras, "[aáeéiíoóuúúü]")

#sin_vocales_1
# Encuentra todas las palabras consistentes solo en consonantes (no vocales)
sin_vocales_2 <- str_detect(palabras, "^[^aáeéiíoóuúúü]+$")
#sin_vocales_1
identical(sin_vocales_1, sin_vocales_2)
## [1] TRUE
#> [1] TRUE
  • str_subset()
  • seq_along()
  • str_count()
  1. Ejercicios:

Hacer los ejercicios en la sección 14.3.2 del libro en español


20.15 Extraer coincidencias

  • str_extract()
  • str_extract_all()
  1. Ejercicios:

Hacer los ejercicios en la sección 14.3.3.1 del libro en español


20.16 Coincidencias agrupadas:

  • str_match*
sustantivo <- "(el|la|los|las|lo|un|una|unos|unas) ([^ ]+)"

tiene_sustantivo <- oraciones %>%
  str_subset(sustantivo)

#tiene_sustantivo
tiene_sustantivo %>% 
  str_extract(sustantivo)
##  [1] "los de"       "el camión"    "la mejor"     "la cuenta"    "las ruinas." 
##  [6] "la hoja"      "la cocina."   "la taza"      "el tanque."   "el calor"    
## [11] "el aire"      "lo en"        "el papel"     "la parte"     "el sofá"     
## [16] "lo de"        "lo curó"      "los actores." "la azul"      "el banco"    
## [21] "una llama"    "la cabeza."   "la ventana."  "la hierba"    "el sol"      
## [26] "el lugar"     "el sofá"      "un suéter"    "el gráfico"   "los encajes" 
## [31] "el verde"     "la caja"      "la pistola"   "los niños"    "una delgada" 
## [36] "lo en"        "la hierba"    "la primavera" "la es"
#>  [1] "los de"      "el camión"   "la mejor"    "la cuenta"   "las ruinas."
#>  [6] "la hoja"     "la cocina."  "la taza"     "el tanque."  "el calor"
  1. Ejercicios:

Hacer los ejercicios en la sección 14.3.4.1 del libro en español


20.17 Remplazar coincidencias

  • str_replace()
  • str_replace_all()
  1. Ejercicios:

Hacer los ejercicios en la sección 14.3.5.1 del libro en español


20.18 Divisiones

  • str_split()
  • str_split(” “, simplify=TRUE)
  • str_split(x, boundery(“word”))[[1]]
  1. Ejercicios:

Hacer los ejercicios en la sección 14.3.6.1 del libro en español


20.19 Otro tipos de patrones

  • regex(“x”, ignore_case=TRUE)
  • seperar números telefonicos

20.20 stringi:

  1. Ejercicios:

Hacer los ejercicios en la sección 14.3.6.1 del libro en español Buscar 3 funciones en stringi y aplica y explica las funciones con un set de datos.


20.21 El texto de Quijote

20.21.1 how to import a .txt file in R

quijote <- read_lines("Datos/el_quijote.txt")

head(quijote, n=10)
##  [1] "DON QUIJOTE DE LA MANCHA"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
##  [2] "Miguel de Cervantes Saavedra"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
##  [3] ""                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
##  [4] "PRIMERA PARTE"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
##  [5] "CAPÍTULO 1: Que trata de la condición y ejercicio del famoso hidalgo D. Quijote de la Mancha"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
##  [6] "En un lugar de la Mancha, de cuyo nombre no quiero acordarme, no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más vaca que carnero, salpicón las más noches, duelos y quebrantos los sábados, lentejas los viernes, algún palomino de añadidura los domingos, consumían las tres partes de su hacienda. El resto della concluían sayo de velarte, calzas de velludo para las fiestas con sus pantuflos de lo mismo, los días de entre semana se honraba con su vellori de lo más fino. Tenía en su casa una ama que pasaba de los cuarenta, y una sobrina que no llegaba a los veinte, y un mozo de campo y plaza, que así ensillaba el rocín como tomaba la podadera. Frisaba la edad de nuestro hidalgo con los cincuenta años, era de complexión recia, seco de carnes, enjuto de rostro; gran madrugador y amigo de la caza. Quieren decir que tenía el sobrenombre de Quijada o Quesada (que en esto hay alguna diferencia en los autores que deste caso escriben), aunque por conjeturas verosímiles se deja entender que se llama Quijana; pero esto importa poco a nuestro cuento; basta que en la narración dél no se salga un punto de la verdad. Es, pues, de saber, que este sobredicho hidalgo, los ratos que estaba ocioso (que eran los más del año) se daba a leer libros de caballerías con tanta afición y gusto, que olvidó casi de todo punto el ejercicio de la caza, y aun la administración de su hacienda; y llegó a tanto su curiosidad y desatino en esto, que vendió muchas hanegas de tierra de sembradura, para comprar libros de caballerías en que leer; y así llevó a su casa todos cuantos pudo haber dellos; y de todos ningunos le parecían tan bien como los que compuso el famoso Feliciano de Silva: porque la claridad de su prosa, y aquellas intrincadas razones suyas, le parecían de perlas; y más cuando llegaba a leer aquellos requiebros y cartas de desafío, donde en muchas partes hallaba escrito: la razón de la sinrazón que a mi razón se hace, de tal manera mi razón enflaquece, que con razón me quejo de la vuestra fermosura, y también cuando leía: los altos cielos que de vuestra divinidad divinamente con las estrellas se fortifican, y os hacen merecedora del merecimiento que merece la vuestra grandeza. Con estas y semejantes razones perdía el pobre caballero el juicio, y desvelábase por entenderlas, y desentrañarles el sentido, que no se lo sacara, ni las entendiera el mismo Aristóteles, si resucitara para sólo ello. No estaba muy bien con las heridas que don Belianis daba y recibía, porque se imaginaba que por grandes maestros que le hubiesen curado, no dejaría de tener el rostro y todo el cuerpo lleno de cicatrices y señales; pero con todo alababa en su autor aquel acabar su libro con la promesa de aquella inacabable aventura, y muchas veces le vino deseo de tomar la pluma, y darle fin al pie de la letra como allí se promete; y sin duda alguna lo hiciera, y aun saliera con ello, si otros mayores y continuos pensamientos no se lo estorbaran."
##  [7] "Tuvo muchas veces competencia con el cura de su lugar (que era hombre docto graduado en Sigüenza), sobre cuál había sido mejor caballero, Palmerín de Inglaterra o Amadís de Gaula; mas maese Nicolás, barbero del mismo pueblo, decía que ninguno llegaba al caballero del Febo, y que si alguno se le podía comparar, era don Galaor, hermano de Amadís de Gaula, porque tenía muy acomodada condición para todo; que no era caballero melindroso, ni tan llorón como su hermano, y que en lo de la valentía no le iba en zaga."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
##  [8] "En resolución, él se enfrascó tanto en su lectura, que se le pasaban las noches leyendo de claro en claro, y los días de turbio en turbio, y así, del poco dormir y del mucho leer, se le secó el cerebro, de manera que vino a perder el juicio. Llenósele la fantasía de todo aquello que leía en los libros, así de encantamientos, como de pendencias, batallas, desafíos, heridas, requiebros, amores, tormentas y disparates imposibles, y asentósele de tal modo en la imaginación que era verdad toda aquella máquina de aquellas soñadas invenciones que leía, que para él no había otra"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
##  [9] "historia más cierta en el mundo."                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
## [10] "Decía él, que el Cid Ruy Díaz había sido muy buen caballero; pero que no tenía que ver con el caballero de la ardiente espada, que de sólo un revés había partido por medio dos fieros y descomunales gigantes. Mejor estaba con Bernardo del Carpio, porque en Roncesvalle había muerto a Roldán el encantado, valiéndose de la industria de Hércules, cuando ahogó a Anteo, el hijo de la Tierra, entre los brazos. Decía mucho bien del gigante Morgante, porque con ser de aquella generación gigantesca, que todos son soberbios y descomedidos, él solo era afable y bien criado; pero sobre todos estaba bien con Reinaldos de Montalbán, y más cuando le veía salir de su castillo y robar cuantos topaba, y cuando en Allende robó aquel ídolo de Mahoma, que era todo de oro, según dice su historia. Diera él, por dar una mano de coces al traidor de Galalón, al ama que tenía y aun a su sobrina de añadidura."

20.21.2 Cuantas oraciones tiene el text primer capitulo de Quijote?

length(quijote)
## [1] 2186

20.22 Cuantas palabras tiene el primer capítulo de Quijote?

quijote_palabras <- str_split(quijote, " ")

quijote_palabras_vector <- unlist(quijote_palabras)

head(quijote_palabras_vector) # obervar las primeras palabras
## [1] "DON"     "QUIJOTE" "DE"      "LA"      "MANCHA"  "Miguel"
length(quijote_palabras_vector) # cuantas palabras hay en total
## [1] 187019

20.23 Cuantas veces aparece la palabra “caballero” en el primer capitulo de Quijote?

sum(str_detect(quijote_palabras_vector, "caballero"))
## [1] 475

20.24 ¿Cuántas palabras tienen más de 10 letras?

sum(str_length(quijote_palabras_vector) > 10)
## [1] 5326

20.25 Cual es la palabra más larga

quijote_palabras_vector %>%
  str_length() %>%
  which.max() %>%
  quijote_palabras_vector[.]
## [1] "procuremos.Levántate,"

20.26 Cuantas veces aparace “Sancho Panza” en el primer capitulo de Quijote?

sum(str_detect(quijote, "Sancho Panza"))
## [1] 95

20.27 Cuantas veces aparace “Dios” en el primer capitulo de Quijote?

sum(str_detect(quijote, "Dios"))
## [1] 166

# Cuantas palabras tiene “ñ” en cualquier posición de la palabra? !str_detect(palabras, “[aáeéiíoóuúúü]”)

str_detect(quijote_palabras_vector, "e") |> head() # cuantas veces aparece la letra e en cada palabra
## [1] FALSE FALSE FALSE FALSE FALSE  TRUE
sum(str_detect(quijote_palabras_vector, "e")) # cuantas veces aparece la letra e en total
## [1] 96484

20.28 Cuantas palabras tienen ñ?

sum(str_detect(quijote_palabras_vector, "[aáeéiíoóuúúü]")) # cuantas veces aparece la letra ñ en cada palabra
## [1] 177633
sum(str_detect(quijote_palabras_vector, "[ñ]")) # cuantas veces aparece la letra ñ en total
## [1] 49227

20.29 Remover del texto todas las siguientes palabras

las palabras como “que”, “de”, “y”, “la”, “el”, “en”, “a”, “los”, “del”, “se”, “las”, “un”, “por”, “con”, “no”, “una”, “su”, “para”, “es”, “al”, “lo”, “como”, “más”, “pero”, “sus”, “le”, “ya”, “o”, “este”, “sí”, “porque”, “esta”, “entre”, “cuando”, “muy”, “sin”, “sobre”, “también”, “me”, “hasta”, “hay”, “donde”, “quien”, etc.

stop_words <- c("que", "de", "y", "la", "el", "en", "a", "los", "del", "se", 
                "las", "un", "por", "con", "no", "una", "su", "para", "es", 
                "al", "lo", "como", "más", "pero", "sus", "le", "ya", "o", 
                "este", "sí", "porque", "esta", "entre", "cuando", "muy", 
                "sin", "sobre", "también", "me", "hasta", "hay", "donde", 
                "quien")

quijote_palabras_vector_limpio <- quijote_palabras_vector[!str_detect(quijote_palabras_vector, 
                                  str_c("^", stop_words, "$", collapse = "|"))]

20.30 Contabilizar las palabras más comunes en el primer capitulo de Quijote

table(quijote_palabras_vector_limpio) %>%
  sort(decreasing = TRUE) %>%
  head(20)
## quijote_palabras_vector_limpio
##      si     más      mi      yo     tan     don   había      él      ni    todo 
##     899     882     851     814     750     713     653     627     617     509 
##     ser      ha     era    bien vuestra       Y   todos    dijo     Don     fue 
##     466     460     452     451     445     407     372     348     345     343