#Cuando asimétrico
library(htmltab)
data_pbi= htmltab(doc = "https://en.wikipedia.org/wiki/List_of_countries_by_GDP_(PPP)_per_capita",
which ='///table[1]/tbody/tr[2]/td[1]/table'
)
str (data_pbi)
## 'data.frame': 193 obs. of 3 variables:
## $ Rank : chr "1" "—" "2" "3" ...
## $ Country/Territory: chr " Qatar" " Macau" " Luxembourg" " Singapore" ...
## $ Int$ : chr "138,910" "113,352" "112,045" "105,689" ...
names(data_pbi)[3]="bla"
data_pbi$bla=gsub(",","", data_pbi$bla) #ya pues... modifico
data_pbi$bla=as.numeric(data_pbi$bla)
data_pbi=data_pbi[complete.cases(data_pbi$bla),]
str (data_pbi)
## 'data.frame': 191 obs. of 3 variables:
## $ Rank : chr "1" "—" "2" "3" ...
## $ Country/Territory: chr " Qatar" " Macau" " Luxembourg" " Singapore" ...
## $ bla : num 138910 113352 112045 105689 86988 ...
library(ggplot2)
base1=ggplot(data_pbi,aes(x=bla))
histNum= base1 + geom_histogram(bins=5)
histNum
En tanto no sea simétrico
base2=ggplot(data_pbi,aes(y=bla))
box=base2 + geom_boxplot() + coord_flip()
box
base2=ggplot(data_pbi,aes(y=bla))
boxy=base2 + geom_boxplot()
boxy
summary(data_pbi$bla)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 724 5228 14894 23106 33572 138910
library(ggplot2)
op=round(as.vector(summary(data_pbi$bla)),0 )#el número responde a los decimales dados
box + scale_y_continuous(breaks = op)
La asimetría tiende a ser positiva (cola a la derecha) cuando la media es mayor a la mediana. La curva nos indica que los valores más bajos de la variable son los más abundantes. Hay sesgo. Hay tendencia a la asimetría negativa (cola a la izquierda) cuando la mediana es mayor que la media. La curva indica que los valores mayores de la variable son los más comunes o abundantes. Hay sesgo. Lo asimétrico se da cuando la tabla dibuja una montaña proporcional y cuando la moda, la mediana y la media son iguales.
Aquí se nota claramente que hay asimetría, que hay sesgo, pero podemos confirmarla calculando el coeficiente respectivo:
library(DescTools)
Skew(data_pbi$bla,conf.level = 0.05)
## skew lwr.ci upr.ci
## 1.800514 1.848640 1.884227
La distancia intercuartílica es la cantidad de valores existentes entre un cuartil y otro, el 50% de casos centrales (lo más ocurrido). Un atípico es todo aquel alejado de estos valores.
IQR(data_pbi$bla)
## [1] 28345
Osea, en teoria, todo valor mayor que 72028.5 será considerado un atípico
sooo=as.numeric(summary(data_pbi$bla)[5])
umbral= sooo+1.5*IQR(data_pbi$bla)
umbral
## [1] 76090
Me da el número de atípicos
data_pbi[data_pbi$bla>umbral,]
## Rank Country/Territory bla
## 2 1 Qatar 138910
## 3 — Macau 113352
## 4 2 Luxembourg 112045
## 5 3 Singapore 105689
## 6 4 Ireland 86988
## 7 5 Brunei 85011
## 8 6 Norway 79638
Gini(data_pbi$bla,conf.level=0.95)
## gini lwr.ci upr.ci
## 0.5248489 0.4901176 0.5651165
Si el Gini es 0, están desconcentrados o dispersos los valores; si fuera 1, se halla una cosa monopolizada. (http://rpubs.com/EstadisticaCP_unmsm/524133)
#Cuando es simétrico o cercano a ello.
democracy = htmltab(doc="https://es.wikipedia.org/wiki/%C3%8Dndice_de_democracia", which = "/html/body/div[3]/div[3]/div[4]/div/table[2]")
str (democracy)
## 'data.frame': 167 obs. of 9 variables:
## $ Puesto : chr "1" "2" "3" "4" ...
## $ País : chr "Noruega" " Islandia" "Suecia" " Nueva Zelanda" ...
## $ Puntuación : chr "9.87" "9.58" "9.39" "9.27" ...
## $ Proceso electoraly pluralismo: chr "10.00" "10.00" "9.58" "10.00" ...
## $ Funcionamientodel gobierno : chr "9.64" "9.29" "9.64" "9.29" ...
## $ Participaciónpolítica : chr "10.00" "8.89" "8.33" "8.89" ...
## $ Culturapolítica : chr "10.00" "10.00" "10.00" "8.13" ...
## $ Derechosciviles : chr "9.71" "9.71" "9.41" "10.00" ...
## $ Categoría : chr "Democracia plena" "Democracia plena" "Democracia plena" "Democracia plena" ...
democracy = democracy [,c(1,2,3,6)]
democracy$Puntuación = as.numeric(democracy$Puntuación)
str (democracy)
## 'data.frame': 167 obs. of 4 variables:
## $ Puesto : chr "1" "2" "3" "4" ...
## $ País : chr "Noruega" " Islandia" "Suecia" " Nueva Zelanda" ...
## $ Puntuación : num 9.87 9.58 9.39 9.27 9.25 9.23 9.21 9.18 9.1 9.03 ...
## $ Participaciónpolítica: chr "10.00" "8.89" "8.33" "8.89" ...
aas= ggplot(democracy,aes(x=Puntuación)) + geom_histogram(bins=8)
aas
Se puede inferir a medias que es simétrico, en caso sea así, la media sería el varlo representativo.
asosaiosa=ggplot(democracy,aes(y=Puntuación)) + geom_boxplot() + coord_flip()
asosaiosa
summary(democracy$Puntuación)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.080 3.545 5.690 5.468 7.130 9.870
Mediana y media son muy parecidas, ambas representan debidamente el cuadro.
daxewcwdcwc=round(as.vector(summary(democracy$Puntuación)), 2)
asosaiosa + scale_y_continuous(breaks = daxewcwdcwc)
Se observa una iguadad casi total entre la media y mediana.
library(DescTools)
Skew(democracy$Puntuación,conf.level = 0.05)
## skew lwr.ci upr.ci
## -0.08238511 -0.08880316 -0.07745693
Esto reafirma que la asimetría es mínima.
ggplot(democracy,aes(x=Puntuación))+ gglorenz::stat_lorenz(color='red') +
geom_abline(linetype = "dashed") + coord_fixed() +
labs(x = "A",
y = "B",
title = "C",
caption = "D")
## Registered S3 methods overwritten by 'ineq':
## method from
## plot.Lc DescTools
## lines.Lc DescTools
Gini(democracy$Puntuación,conf.level=0.95)
## gini lwr.ci upr.ci
## 0.2337023 0.2099533 0.2578059
Esto demuestra lo desconcentado del cuadro.