06C - Descarga de libros
Como al principio de todo script, recomiendo reiniciar R. Esto lo conseguimos en RStudio Cloud con Session > Restart R y clickeando en la escoba del panel de “Environment” (superior derecho).
El siguiente código se utilizó para descargar los libros del script 06A:
# Cargar paquetes ----
library(tidyverse)
# install.packages("tidytext")
library(tidytext)
library(stopwords)
# install.packages("gutenbergr")
library(gutenbergr) # descargar libros de dominio público desde Project Gutenberg
# Leviathan ----
leviathan <- gutenberg_download(3207, strip = T)
leviathan2 <- leviathan %>%
# eliminar las lineas sin info (espacios o separadores)
filter(!str_detect(text, "^[\\s[:punct:]]*$")) %>%
# generar variable con capítulos
mutate(chapter = cumsum(str_detect(text, "(CHAPTER )")),
line = 1:nrow(.)) %>%
# incluir información sobre el libro
mutate(author = "Thomas Hobbes",
book = "Leviathan") %>%
# reordenar columnas
select(author, book, gutenberg_id, chapter, line, text)
write_csv(leviathan2, "datos/leviathan.csv")
# On Liberty ----
on_liberty <- gutenberg_download(34901, strip = T)
on_liberty2 <- on_liberty %>%
# eliminar las lineas sin info (espacios o separadores)
filter(!str_detect(text, "^[\\s[:punct:]]*$")) %>%
# generar variable con caps. (es imposible no contar las del índice usando expr. regulares, por eso las arreglo ex post)
mutate(text = str_remove_all(text, "(<i>)|(</i>)"),
chapter = cumsum(str_detect(text, "(CHAPTER )")),
line = 1:nrow(.)) %>%
mutate(chapter = chapter - 5) %>%
mutate(chapter = if_else(chapter < 0, 0, chapter)) %>%
# incluir información sobre el libro
mutate(author = "John Stuart Mill",
book = "On Liberty") %>%
# reordenar columnas
select(author, book, gutenberg_id, chapter, line, text)
write_csv(on_liberty2, "datos/on_liberty.csv")
# A Vindication of the Rights of Women ----
rights_of_women <- gutenberg_download(3420, strip = T)
rights_of_women2 <- rights_of_women %>%
# eliminar las lineas sin info (espacios o separadores)
filter(!str_detect(text, "^[\\s[:punct:]]*$")) %>%
# generar variable con caps. (es muy difícil no contar las del índice usando expr. regulares, por eso las arreglo ex post)
mutate(text = str_remove_all(text, "(<i>)|(</i>)"),
chapter = cumsum(str_detect(text, "(CHAPTER )")),
line = 1:nrow(.)) %>%
mutate(chapter = chapter - 13) %>%
mutate(chapter = if_else(chapter < 0, 0, chapter)) %>%
# incluir información sobre el libro
mutate(author = "Mary Wollstonecraft",
book = "A Vindication of the Rights of Woman") %>%
# reordenar columnas
select(author, book, gutenberg_id, chapter, line, text)
write_csv(rights_of_women2, "datos/rights_of_women.csv")