#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.