library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readr)
library(rvest)
##
## Attaching package: 'rvest'
## The following object is masked from 'package:readr':
##
## guess_encoding
library(httr)
library(xml2)
Pagina web:
url <- "https://es.wikipedia.org/wiki/Elecciones_municipales_de_Lima_de_2022#Resultados_por_distrito" # Reemplaza con la URL de la página que deseas scrapear
webpage <- read_html(url)
# Cargar los paquetes
library(rvest)
library(dplyr)
# Definir la URL
url <- "https://es.wikipedia.org/wiki/Elecciones_municipales_de_Lima_de_2022#Resultados_por_distrito" # Reemplaza con la URL de la página que deseas scrapear
# Leer la página web
webpage <- read_html(url)
# Extraer todas las tablas
tablas <- webpage %>%
html_nodes("table")
# Seleccionar la segunda tabla (ajusta el índice según la posición de la tabla)
tabla_deseada <- tablas[10] %>%
html_table()
# Convertir la tabla a un dataframe
datos <- as.data.frame(tabla_deseada)
# Seleccionar las columnas necesarias
# Nota: Ajusta los nombres de las columnas según corresponda
# Asegúrate de que los nombres de las columnas coincidan exactamente con los de la tabla extraída
datos_limpios <- datos %>%
select(Distrito, RP_porcentaje = `RP.1`, PP_porcentaje = `PP.1`, SP_porcentaje = `SP.1`)
# Ver los primeros registros para verificar
head(datos_limpios)
## Distrito RP_porcentaje PP_porcentaje SP_porcentaje
## 1 Distrito
## 2 Distrito % % %
## 3 Ancón 13.28 33.27 21.35
## 4 Ate 17.49 29.99 15.87
## 5 Barranco 36.92 18.34 20.37
## 6 Breña 31.15 25.61 19.23
datos_limpios <- datos_limpios %>%
slice(-1, -2, -46)
# Ver los primeros registros para verificar
head(datos_limpios)
## Distrito RP_porcentaje PP_porcentaje SP_porcentaje
## 1 Ancón 13.28 33.27 21.35
## 2 Ate 17.49 29.99 15.87
## 3 Barranco 36.92 18.34 20.37
## 4 Breña 31.15 25.61 19.23
## 5 Carabayllo 19.24 27.82 21.12
## 6 Chaclacayo 28.42 22.74 18.78
# Leer los datos de denuncias
denuncias <- read.csv("C:/Users/Windows 10/Downloads/Lima2022.xlsx - data.csv")
# Leer los datos de residuos
residuos <- read_excel("residuosPeru (1).xlsx")
## New names:
## • `` -> `...2`
## • `` -> `...3`
## • `` -> `...4`
## • `` -> `...5`
## • `` -> `...6`
## • `` -> `...7`
## • `` -> `...8`
## • `` -> `...9`
## • `` -> `...10`
## • `` -> `...11`
## • `` -> `...12`
## • `` -> `...13`
## • `` -> `...14`
## • `` -> `...15`
# Leer los resultados electorales
resultados <- read_csv("resultados_electorales.csv")
## Rows: 43 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Distrito
## dbl (3): RP_porcentaje, PP_porcentaje, SP_porcentaje
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
Denuncias:
denuncias <- denuncias %>%
slice(-1, -2, -3, -4, -48, -49, -50, -51, -52, -53,-54, -55, -56,-57, -58, -59,-60)
denuncias$X <- NULL
Residuos:
Unir tablas: