#Base de Datos Fivethirtyeight 2016 Poll Data
library(dslabs) # Datasets
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
#Base de datos
data_base = polls_us_election_2016
# Calcular los promedios de los votos ajustados para cada candidato
means <- colMeans(data_base[, c("adjpoll_clinton", "adjpoll_trump", "adjpoll_johnson", "adjpoll_mcmullin")], na.rm = TRUE)
candidates <- c("Clinton", "Trump", "Johnson", "McMullin")
# Crear un data frame para el gráfico
df_means <- data.frame(Candidate = candidates, MeanVotes = means)
# Gráfico de barras
ggplot(df_means, aes(x=Candidate, y=MeanVotes, fill=Candidate)) +
geom_bar(stat="identity") +
labs(title="Promedio de Votos Ajustados por Candidato", y="Votos Ajustados", x="Candidato") +
theme_minimal() +
theme(legend.position = "none")
#Interpretación:
El gráfico de barras muestra que, en promedio, Trump tiene la mayor cantidad de votos ajustados en las encuestas, seguido de Clinton. Johnson y McMullin tienen significativamente menos apoyo, lo que sugiere que la contienda principal es entre los dos primeros candidatos. Esto refleja una clara polarización del electorado entre los dos principales partidos.
# Gráfico de dispersión
ggplot(data_base, aes(x=samplesize)) +
geom_point(aes(y=adjpoll_clinton, color="Clinton")) +
geom_point(aes(y=adjpoll_trump, color="Trump")) +
geom_point(aes(y=adjpoll_johnson, color="Johnson")) +
geom_point(aes(y=adjpoll_mcmullin, color="McMullin")) +
labs(title="Relación entre Tamaño de Muestra y Votos Ajustados", y="Votos Ajustados", x="Tamaño de Muestra") +
scale_color_manual("",
breaks = c("Clinton", "Trump", "Johnson", "McMullin"),
values = c("blue", "red", "orange", "green")) +
theme_minimal()
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).
## Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).
## Warning: Removed 1410 rows containing missing values or values outside the scale range
## (`geom_point()`).
## Warning: Removed 4178 rows containing missing values or values outside the scale range
## (`geom_point()`).
#Interpretación:
El gráfico de dispersión indica que no hay una correlación fuerte y evidente entre el tamaño de la muestra y los votos ajustados para cada candidato. Esto sugiere que, independientemente del tamaño de la muestra, los resultados ajustados tienden a ser consistentes, lo que podría indicar una fiabilidad en la metodología de ajuste aplicada en las encuestas.
# Convertir las fechas a formato Date
data_base$startdate <- as.Date(data_base$startdate)
data_base$enddate <- as.Date(data_base$enddate)
# Filtrar por un estado específico, por ejemplo "Alabama"
data_state <- subset(data_base, state == "Alabama")
# Gráfico de líneas para mostrar la evolución de las encuestas en el tiempo
ggplot(data_state, aes(x=enddate)) +
geom_line(aes(y=adjpoll_clinton, color="Clinton"), size=1) +
geom_line(aes(y=adjpoll_trump, color="Trump"), size=1) +
geom_line(aes(y=adjpoll_johnson, color="Johnson"), size=1) +
geom_line(aes(y=adjpoll_mcmullin, color="McMullin"), size=1) +
labs(title="Evolución de las Preferencias en Alabama", y="Votos Ajustados", x="Fecha") +
scale_color_manual("",
breaks = c("Clinton", "Trump", "Johnson", "McMullin"),
values = c("blue", "red", "orange", "green")) +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Removed 2 rows containing missing values or values outside the scale range
## (`geom_line()`).
## Warning: Removed 43 rows containing missing values or values outside the scale range
## (`geom_line()`).
#Interpretación:
El gráfico de líneas para el estado de Alabama revela que las preferencias por Trump y Clinton han sido relativamente estables, con Trump manteniendo una ventaja constante a lo largo del tiempo. La estabilidad en estas tendencias sugiere una base de apoyo consolidada para ambos candidatos, aunque Trump domina claramente en este estado.
# Calcular el total de votos ajustados para cada candidato
total_votes <- colSums(data_base[, c("adjpoll_clinton", "adjpoll_trump", "adjpoll_johnson", "adjpoll_mcmullin")], na.rm = TRUE)
df_pie <- data.frame(Candidate = candidates, TotalVotes = total_votes)
# Gráfico circular
ggplot(df_pie, aes(x="", y=TotalVotes, fill=Candidate)) +
geom_bar(width=1, stat="identity") +
coord_polar("y") +
labs(title="Distribución de Votos Ajustados por Candidato") +
theme_void()
#Interpretación:
El gráfico circular muestra que Trump capta la mayor porción del total de votos ajustados, seguido por Clinton. Johnson y McMullin tienen una participación mucho menor. Este gráfico subraya la concentración del voto en los dos principales candidatos, lo que es típico en elecciones polarizadas entre dos partidos principales.