http://rpubs.com/Brayan_Milla/534602
library(htmltab)
pbi_nominal= htmltab(doc = "https://en.m.wikipedia.org/wiki/List_of_countries_by_GDP_(nominal)_per_capita",
which ='//*/table/tbody/tr[2]/td[1]',
encoding = "UTF-8")
str(pbi_nominal)
## 'data.frame': 193 obs. of 3 variables:
## $ Rank : chr "1" "2" "—" "3" ...
## $ Country/Territory: chr " Luxembourg" " Switzerland" " Macau" " Norway" ...
## $ US$ : chr "114,234" "82,950" "82,388" "81,695" ...
names(pbi_nominal)=c("Rank","Pais","PBInominal")
Ahora queremos cambiar la variable “PBInominal” a numérica pero antes debemos recordar que si los números de los casos tienen coma al cambiar la estructura lo que R hará, automáticamente, es convertir todos los valores a NA’s. Entonces:
pbi_nominal$PBInominal=gsub(",","",pbi_nominal$PBInominal)
pbi_nominal$PBInominal=as.numeric(pbi_nominal$PBInominal)
row.names(pbi_nominal)=NULL
2.Exploración gráfica
Histograma
library(ggplot2)
histNum=ggplot(pbi_nominal,aes(x=PBInominal))+ geom_histogram(bins=5)
histNum
Del gráfico anterior, podemos decir que la distribución no es simétrica por lo tanto la MEDIA no será una medida representativa (la MEDIANA será mejor opción)
Boxplot Esto es mejor para revisar los valores perdidos
box=ggplot(pbi_nominal,aes(y=PBInominal)) + geom_boxplot() + coord_flip()
box
Estadígrafos
summary(pbi_nominal$PBInominal)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 303 2085 5899 14806 18032 114234
library(ggplot2)
estadigrafos=round(as.vector(summary(pbi_nominal$PBInominal)),1)
box + scale_y_continuous(breaks = estadigrafos)
En este caso, observamos que la media es mayor a la mediana, eso significa que se tiene una asimetría positiva.
Ahora podemos confirmarla con el siguiente codigo
library(DescTools)
Skew(pbi_nominal$PBInominal, conf.level = 0.05)
## skew lwr.ci upr.ci
## 2.083208 2.164955 2.205914
La distancia intercuartilica
IQR(pbi_nominal$PBInominal)
## [1] 15947
Entre el primer y tercer cuartil hay 15947 valores; asi, el 50% de los valores centrales varian en 15947 valores. Así, podemos proponer que un atípico es aquel que está a una distancia lejana de estos valores centrales.
Ahora podemos representarlos por GINI
Gini(pbi_nominal$PBInominal, conf.level = 0.05)
## gini lwr.ci upr.ci
## 0.6315895 0.6335661 0.6354289
Grafiquemos en la curva de Lorentz
library(ggplot2)
library(gglorenz)
## Registered S3 methods overwritten by 'ineq':
## method from
## plot.Lc DescTools
## lines.Lc DescTools
ggplot(pbi_nominal,aes(x=PBInominal))+ gglorenz::stat_lorenz(color='red') +
geom_abline(linetype = "dashed") + coord_fixed() +
labs(x = "% Paises ordenados por PBI nominal",
y = "% Acumulado de PBI nominal",
title = "Relación pais/PBI nominal",
caption = "Fuente: Fondo Monetario Internacional")