REPASO

1. Carga de data

Usar: https://en.wikipedia.org/wiki/Democracy_Index

library(htmltab)

# coleccion
links=list(web="https://en.wikipedia.org/wiki/Democracy_Index",
           xpath ='//*[@id="mw-content-text"]/div/table[2]/tbody')
demo<- htmltab(doc = links$web, which =links$xpath)

2. Limpieza de datos

2.1. Inspeccion:

str(demo)
names(demo)

2.2. Pre procesamiento:

# aqui dividimos al nombre actual en el primer espacio, y nos quedamos con el elemento a la izquierda:

library(stringr)
names(demo)=str_split(names(demo)," ",simplify = T)[,1]
names(demo)=str_replace_all(names(demo), "[^[:ascii:]]", "")
demo[,]=lapply(demo[,], str_replace_all,"[^[:ascii:]]","")
demo$Rank=NULL
library(readr)

demo[,c(2:7)]=lapply(demo[,c(2:7)],parse_number)
# ver tabla

table(demo$Regimetype)
# nombres RE ordenados

ordenOK=c("Authoritarian","Hybrid regime", "Flawed democracy","Full democracy")

demo$Regimetype=factor(demo$Regimetype, levels=ordenOK,ordered = TRUE)
demo$Continent=as.factor(demo$Continent)
# **Que tienes hasta ahora?**:
str(demo)

PREGUNTAS

1. ¿Cual es el valor representativo de Tipo de Regimen?

library(DescTools)
Median(demo$Regimetype)

2. ¿Podemos afirmar que 3 cuartas partes de los paises del mundo que tenemos en nuestra tabla no superan el tipo hibrido de democracia?

# tabla de frecuencias avanzada
library(questionr)
library(magrittr)
OrdDf=freq(demo$Regimetype,total = F,exclude = c(NA),cum = T) %>% data.frame()
OrdDf=data.frame(row.names(OrdDf),OrdDf,row.names = NULL)

names(OrdDf)=c("Categoria","Conteo", "Porcentaje", "Porcentaje Acumulado")
# viendo a NomDf
OrdDf

3.1. ¿Cual es el valor representativo de Continente?

Mode(demo$Continent)

3.2. ¿Es el valor representativo de continente muy prominente? (quizas otros continentes no envian informacion?)

tablaContinente=prop.table(table(demo$Continent))
Herfindahl(tablaContinente)

4. ¿La variable continente se distribuye asimetricamente?

5. ¿La variable regimetype se distribuye asimetricamente?

library(ggplot2)
# en base solo se pone: en data como se llama la tabla de frecuencias
# y en aes la variable 'x' para los nombres y la 'y' para los conteos.
base = ggplot(data=OrdDf,aes(x=Categoria , y=Conteo)) 
# luego a la base se le pide añadir la 'geometria' deseada:
bar1 = base + geom_bar(stat='identity') 

# aqui resultado:
bar1 + scale_x_discrete(limits =OrdDf$Categoria)
library(ggplot2)
basep=ggplot(data=demo, aes(y=as.numeric(Regimetype))) # ojo
basep +  geom_boxplot() + coord_flip()

6. ¿El valor representativo de indice de democracia es robusto?

summary(demo$Score)
basen=ggplot(data=demo,aes(x=Score))
basen + geom_histogram(bins=10)
Skew(demo$Score,conf.level = 0.05)

7. ¿Puedes concluir que hay mucha desigualdad en este indice?

Gini(demo$Score)

8. ¿Se puede afirmar que el 80% de los paises del mundo suman a lo mas el 67.5% del score de democracia?

#Gráfico de Lorentz
library(ggplot2)
library(gglorenz)

ggplot(demo,aes(x=Score))+ gglorenz::stat_lorenz(color='purple') +
    geom_abline(linetype = "dashed") + coord_fixed() +
    labs(x = "% Paises ordenados por Indice de Democracia",
         y = "% Acumulado de Puntuación de ID",
         title = "Relación pais/Indice de democracia",
         caption = "Fuente: The Economist") + 
     scale_y_continuous(breaks=seq(0,1,0.15)) +
     scale_x_continuous(breaks=seq(0,1,0.2))

9.1. ¿Hay atipicos en el score de democracia?

# cuartilES
q3=quantile(demo$Score,0.75)
            
q1=quantile(demo$Score,0.25)

# calculando umbrales 
umbralAlto= q3+1.5*IQR(demo$Score)
umbralBajo= q1-1.5*IQR(demo$Score)

9.2. ¿Ausencia de atipicos grandes?

demo[demo$Score>=umbralAlto,]

9.3. ¿Ausencia de atipicos pequeños?

demo[demo$Score<=umbralBajo,]