miércoles, 22 de enero de 2020

Ley D'hont

Nescanos <- 57
PorMin <- 0.05
df <- data.frame( Carmena = .284, PP = .219, Ciudantans = .218, PSOE = .137, Franco = .082, IU = 0.023, Total = 1642898)
df <- df[ , df >= PorMin ]
df <- df[ , order(df, decreasing = TRUE)]
df <- df$Total * df
df$PP <- df$PP + 3105
# EscañoPara
# Carmena Ciudantans     Franco         PP       PSOE
#      18         13          5         13          8

df$Total <- rm()
EscanosDF <- df
for( i in 2:Nescanos ){
  EscanosDF <- rbind( EscanosDF , df/i)
}


EscañoPara <-  c()

i <- 1 +1
for( i in 1:Nescanos){
  cat("repartiendo escaño ", i, "\n")
  print( sapply(X = EscanosDF, FUN = max, na.rm = TRUE) )
  print( sapply(X = EscanosDF, FUN = function(x){  max(  length( x [ is.na(x) == TRUE]  )  ) + 1  }) )
  Maximo <- max( EscanosDF , na.rm = TRUE)[1]
  Fila <- which( apply(X = EscanosDF, MARGIN = 1, FUN = function(x){  any(x == Maximo)}) )
  Fila <- Fila[ length(Fila)]
  Columna <- which.max( EscanosDF[Fila,  ] )[1]
  nombrePartido <- names(Columna)
  EscanosDF[ Fila, Columna] <- NA
  EscañoPara <- c(EscañoPara, nombrePartido )
  cat("Escaño Para", nombrePartido, "\n")

}

table( EscañoPara)
EscañoPara

No hay comentarios:

Publicar un comentario