Estadísticos de centralización: aquellos valores que más pesan en la distribución de una variable
X = Tu data
VCN = Variable categórica nominal
VCO = Variable categórica ordinal
VN = Variable numérica
Se emplea:
Tabla de frecuencias
library(questionr)
library(magrittr)
Estonoescódigo=freq(X$VCN,total = F,sort = 'dec',exclude = c(NA)) %>% data.frame()
Estonoescódigo=data.frame(variable=row.names(Estonoescódigo),Estonoescódigo,row.names = NULL)
EstonoescódigoTabla de barras (esta última se realiza usando la tabla de frecuencias como base)
library(ggplot2)
waitforit = ggplot(data=Estonoescódigo,aes(x=variable,y=n))
nombracomodesees = waitforit + geom_bar(stat='identity')
nombracomodesees = nombracomodesees + scale_x_discrete(limits = Estonoescódigo$variable)
nombracomodeseesPareto chart (nos indica el porcentaje acumulado)
library(qcc)
pareto.chart(table(X$VCN),cumperc = c(0,50,80,100))ESTOS TRES SON PARA CALCULAR CUÁL ES EL VALOR REPRESENTATIVO
Moda:
library(DescTools)
Mode(X$VCN)Herfindahl: Concentración de un “x”, qué tan “monopolizada” está la variable, qué tan significativo es
cosas=table(X$VCN)
Herfindahl(cosas)
x < 0.01 : indica que la moda no es significativa, las categorias tienen pesos similares.
x < 0.15 : indica que la moda no es significativa, varias categorias tienen pesos similares.
x entre 0.15 y 0.3: hay una moda significativa.
x > 0.3: La moda se diferencia de los demasRepresentatividad efectiva: Lo/os efectivamente importante/es - Los que poseen mayor representatividad
1/sum(prop.table(cosas)**2)
Ejemplos:
1.242536476 —–> Hay un grupo representativo (la moda es representativa)
4.10923184 ——> Hay cuatro grupos representativos (la moda es representativa)
Se emplean:
Tablas de frecuencia
AAA=freq(X$VCO,total = F,exclude = c(NA)) %>% data.frame()
AAA=data.frame(variable=row.names(OrdDf),OrdDf,row.names = NULL)
AAATabla de barras
base=ggplot(data = AAA, aes(x=variable, y=n))
was= base + geom_bar(stat = 'identity')
wasMediana:
library(DescTools)
Median(X$VCO)Boxplot (este es el efectivamente importante)
ggplot(X,aes(y=VCO)) + geom_boxplot() + scale_y_discrete(limits=X$VCO)El ejemplo más didáctico con el que me he topado para entender la lectura de un boxplot:
La mediana indica hasta qué valor llega el 50% de los valores que han tomado los datos. (Aquí dice que el 50% de los incidentes ocurren de domingo a miercoles) Note los valores 3, 4 y 6. El 3 es el primer cuartil: 25% de las acciones de los serenos se dan de domingo a miercoles. El 4 es la mediana o cuartil 2. El 6 es el cuartil 3: Otro 25% de las acciones de los serenos se dan de viernes a sábado. = http://rpubs.com/EstadisticaCP_unmsm/categoricaExploracion)
Los principales gráficos para entender (explorar) el comportamiento de una variable numérica son:
El boxplot (¿hay atípicos?):
Primero:
unabase=ggplot(X,aes(y=VN))
box=unabase + geom_boxplot() + coord_flip()
box
Segundo:
library(ggplot2)
AJÁ=round(as.vector(summary(X$VN)),2)
box + scale_y_continuous(breaks = AJÁ)
Se emplean los estadígrafos [summary(X$VN)], lo que nos informa cuál es la media/mediana, los cuartíles y lo minímo/máximo. El 95% de intervalo de confianza para la media (límite inferior y superior, esto implica el porcentaje de aceptación de que entre los números dados se haya la media) debe ser muy cercano a la media para que haya representatividad. La media recortada al 5% (un cálculo basado en la comparativa con los valores extremos-atípicos, la media es muy sensible a estos valores) debe ser muy parecida a la media para que haya confianza en la misma. La desviación estandar ha de ser baja en comparación a la media y a la media recortada, ella implica el sesgo de un lado a otro.
Para una mayor comprensión se calcula la distancia intercuartílica (diferencia entre el primer cuartil y el tercer cuartil; es el 50% de la información), los atípicos y su umbral. (acá los cógidos: http://rpubs.com/EstadisticaCP_unmsm/524133)
El histograma : Se busca comprobar si hay sesgo
library(ggplot2)
Nah=ggplot(X,aes(x=VN))
nel= Nah + geom_histogram(bins=7)
nel La asimetría/anormalidad 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/anormalidad 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 simétrico/normal se da cuando la tabla dibuja una montaña proporcional y cuando la moda, la mediana y la media son iguales.
Se hace el skew* para calcular qué tan sesgado se esta:
library(DescTools)
Skew(X$VN,conf.level = 0.05)
-Si el coeficiente de asimetría es menor que -1 o mayor que 1, la distribución es extremadamente sesgada.
-Si el coeficiente de asimetría se encuentra entre -1 y -0,5 o entre 0,5 y 1, la distribución es moderadamente sesgada.
-Si el coeficiente de asimetría se encuentra entre -0,5 y 0,5, la distribución es aproximadamente sesgada.
El Gini junto al Lorenz:
-Si el gini es 0 hay dispersión (A,B,C,D,E son causa de Z), si el gini es 1 hay concentración (A es causa de Z):
Gini(X$VN,conf.level=0.95)
-Si en el Lorenz la curva se acerca a la diagonal hay concentración, si se aleja hay dispersión.
library(gglorenz)
Nah + gglorenz::stat_lorenz(color='red') + geom_abline(linetype = "dashed") + coord_fixed() + labs(x = "% Empresas ordenadas por accidentes causados", y = "% Acumulado de Accidentes", title = "Relación empresa / accidente", caption = "Fuente: MINEM")También se puede usa el Shapiro-wilk (bases de datos pequeñas) o Kolmogorov-Smirnov (bases de datos pequeñas) para probar su normalidad:
shapiro.test(X$VN)
Como el p-value (o significancia) es menor que 0.05 se confirma que la variable no se comporta normal (la H0 es que la variable se distribuye de forma normal)