Archivo:Delegate count for the 2016 Republican Party presidential primaries.svg

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre

Ver la imagen en su resolución original((Imagen SVG, nominalmente 720 × 450 pixels, tamaño de archivo: 109 kB))

Resumen

Descripción
English: Delegate count for the 2016 Republican Party presidential primaries. Graph may not reflect the latest developments. Graph generated with an R script.
Fecha
Fuente Trabajo propio
Autor Abjiklam

Licencia

Yo, el titular de los derechos de autor de esta obra, la publico en los términos de la siguiente licencia:
w:es:Creative Commons
atribución compartir igual
Este archivo está disponible bajo la licencia Creative Commons Attribution-Share Alike 4.0 International.
Eres libre:
  • de compartir – de copiar, distribuir y transmitir el trabajo
  • de remezclar – de adaptar el trabajo
Bajo las siguientes condiciones:
  • atribución – Debes otorgar el crédito correspondiente, proporcionar un enlace a la licencia e indicar si realizaste algún cambio. Puedes hacerlo de cualquier manera razonable pero no de manera que sugiera que el licenciante te respalda a ti o al uso que hagas del trabajo.
  • compartir igual – En caso de mezclar, transformar o modificar este trabajo, deberás distribuir el trabajo resultante bajo la misma licencia o una compatible como el original.

Code

The graph is generated by the following R script:

library(RCurl)
library(reshape)
library(htmltab)
library(ggplot2)
library(stringr)
library(scales) # needed if your code breaks at date_format function
Sys.setlocale("LC_TIME", "English") # results are in en_US format, you may need to specifically tell R to treat them that way

#get the table from the url
theurl <- getURL("https://en.wikipedia.org/wiki/Results_of_the_Republican_Party_presidential_primaries,_2016", ssl.verifyPeer=FALSE)
table <- htmltab(theurl, which=7)

#keep only the useful columns and name them
df <- table[3:61, 1:ncol(table)-1]
names(df)[1:2] <- c("Date", "State")

#extract delegate count
for (i in 3:ncol(df)) {
  df[[i]] = str_extract_all(df[[i]], "[0-9,]+ delegate")
  df[[i]] = as.numeric(str_extract(df[[i]], "[0-9,]+"))
}

#sum up minor candidates
df[[7]] = rowSums(df[,7:14], na.rm=TRUE)
names(df)[7] = "Others"
df = df[,1:7]

#extract state names
df[[2]] = str_replace(df[[2]], "Binding[A-Za-z ]+", "")
df[[2]] = str_replace(df[[2]], "Territorial[A-Za-z ]+", "")
df[[2]] = str_replace(df[[2]], "State[A-Za-z ]+", "")
df[[2]] = str_replace(df[[2]], "District Co[A-Za-z ]+", "")
df[[2]] = str_replace(df[[2]], "District an[A-Za-z ]+", "")
df[[2]] = str_replace(df[[2]], "Conv[A-Za-z ]+", "")

#replace NA with 0
df[is.na(df)] = 0

#extract date or last day in date range
df$Date = sub("[0-9]+\\s*–\\s*([0-9]+)", "\\1", df$Date)
df$Date = sub("[0-9]+,\\s*([0-9]+)", "\\1", df$Date)
df$Date = as.Date(df$Date, format="%b %d")

#remove contests that haven't happened
df = df[rowSums(df[,3:7], na.rm=TRUE)!=0,]

#new dataframes for unique dates and cumulative count
df2 = data.frame(Date=unique(df$Date))
df3 = df2
for (i in 3:7) {
  df2[[names(df)[i]]] = rep(NA, length(df2$Date))
  df3[[names(df)[i]]] = rep(NA, length(df2$Date))
  for (j in 1:length(df2$Date)) {
    df2[[names(df)[i]]][j] = sum(subset(df, Date==df2$Date[j])[[names(df)[i]]])
    df3[[names(df)[i]]][j] = sum(df2[[names(df)[i]]][1:j])
  }
}

#reshape data so that candidate becomes a variable
mdata <- melt(df2, id=c("Date"))
mdata2 <- melt(df3, id=c("Date"))
names(mdata) <- c("Date", "Candidate", "Delegates")
mdata[["Cumulative"]] <- mdata2[, 3]

results = mdata

#nomination threshold
nomination <- data.frame(yintercept=1237, nomination=factor(1237))

#colors
colors <- c("#283681", "#29AB87", "#DAA520", "#C60E3B", "#000000")
labels = c("Trump", "Kasich", "Cruz", "Rubio", "Other")

#generate plot
d <- ggplot(results, aes(x=Date, y=Cumulative, group=Candidate, colour=Candidate)) + 
  geom_hline(aes(yintercept=yintercept, linetype=nomination), data=nomination, show.legend=TRUE) + 
  geom_path(size=1) +
  scale_color_manual(values=colors) + 
  scale_y_continuous(breaks=seq(0, 2000, 100), minor_breaks=seq(0, 2000, 50)) + 
  scale_x_date(limits=c(as.Date("2016/2/1"), as.Date("2016/7/21")),
               breaks=sort(c(seq(as.Date("2016/2/1"), as.Date("2016/7/21"), "month"),
                             seq(as.Date("2016/2/15"), as.Date("2016/7/14"), "month"),
                             as.Date("2016/7/21"))),
               labels=date_format("%b %d")) + 
  scale_linetype_manual(values=c("dashed")) + 
  labs(x="Date", y="Delegates", title="Delegate count", linetype="Nomination") + 
  theme(plot.background = element_rect(fill="transparent",colour = NA)) + 
  theme(legend.background = element_rect(fill="transparent",colour = NA))

#display plot
svg(filename="count.svg", 
    width=8, 
    height=5, 
    pointsize=12,
    bg="transparent")
d
dev.off()

Leyendas

Añade una explicación corta acerca de lo que representa este archivo

Elementos representados en este archivo

representa a

Historial del archivo

Haz clic sobre una fecha y hora para ver el archivo tal como apareció en ese momento.

Fecha y horaMiniaturaDimensionesUsuarioComentario
actual10:43 8 jun 2016Miniatura de la versión del 10:43 8 jun 2016720 × 450 (109 kB)Χupdate
01:46 27 may 2016Miniatura de la versión del 01:46 27 may 2016720 × 450 (158 kB)ByteflushUpdated (Washington primary)
15:17 22 may 2016Miniatura de la versión del 15:17 22 may 2016720 × 450 (156 kB)Χminor
15:16 22 may 2016Miniatura de la versión del 15:16 22 may 2016720 × 450 (157 kB)Χupdate
13:34 6 abr 2016Miniatura de la versión del 13:34 6 abr 2016484 × 333 (114 kB)Χupdate
16:45 4 abr 2016Miniatura de la versión del 16:45 4 abr 2016484 × 333 (109 kB)Χbetter
16:18 4 abr 2016Miniatura de la versión del 16:18 4 abr 2016484 × 333 (109 kB)ΧUser created page with UploadWizard

La siguiente página usa este archivo:

Metadatos