Por lo general el primer paso en el análisis estadístico consiste en realizar algunos gráficas simples que nos permitan hacernos a una idea del “comportamiento” de los datos.
El siguiente código permite cargar los datos que se encuentran en la primera hoja del archivo Datos.xlsx
de Excel.
library(readxl)
#data <- read_excel(file.choose())
data <- read_excel("C:/Users/john moreno/Downloads/Datos.xlsx", sheet = "Datos")
Las siguientes lineas nos muestran la primera parte de data y nos indica que tipo de estructura de datos es:
head(data)
## # A tibble: 6 x 6
## Obs Edad Sexo Hijos Edu Salario
## <dbl> <dbl> <chr> <dbl> <chr> <dbl>
## 1 1 24 M 2 T 3254681.
## 2 2 38 F 2 P 2712375.
## 3 3 20 M 2 T 2554735.
## 4 4 23 M 2 B 3449204.
## 5 5 18 M 2 P 2330130.
## 6 6 26 F 1 P 2054951.
class(data)
## [1] "tbl_df" "tbl" "data.frame"
La siguiente linea nos permite trabajar directamente con los nombres de las variables al interior de data
attach(data)
Un tipo de gráfico muy sencillo que permite visualizar la distribución de frecuencia de los datos es el gráfico de tallo y hojas . La siguiente instrucción construye este gráfico para la variable Edad.
stem(Edad)
##
## The decimal point is at the |
##
## 14 | 00
## 16 | 0000
## 18 | 0000000000000
## 20 | 000000000000000000000000
## 22 | 00000000000000000000000000000000000
## 24 | 00000000000000000000000
## 26 | 00000000000000000000000000000000000000000000000
## 28 | 0000000000000000000000000000000000000
## 30 | 00000000000000000000000000000
## 32 | 00000000000000000
## 34 | 00000000
## 36 | 000000
## 38 | 00000
Para el caso de variables cualitativas como Sexo o Edu, podemos construir gráficos de barras que representan las frecuencias absolutas o relativas de cada categoría de los datos.
table(Sexo)
## Sexo
## F M
## 106 144
table(Edu)
## Edu
## B E P T
## 78 26 87 59
prop.table(table(Sexo))
## Sexo
## F M
## 0.424 0.576
prop.table(table(Edu))
## Edu
## B E P T
## 0.312 0.104 0.348 0.236
barplot(table(Sexo))
barplot(prop.table(table(Edu)))
También podemos construir gráficos de barras con variables cuantitativas discretas como edad.
barplot(table(Edad))
Y podemos construir tablas cruzadas como:
table(Sexo, Edu)
## Edu
## Sexo B E P T
## F 33 10 36 27
## M 45 16 51 32
table(Sexo, Edad)
## Edad
## Sexo 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
## F 0 1 1 0 5 5 9 9 8 4 3 10 14 8 6 5 7 4 0 3 2 1 0 1 0
## M 1 0 3 2 6 4 6 8 10 10 6 14 9 8 15 11 6 6 7 2 1 3 2 2 2
y representarlas gráficamente:
barplot(table(Sexo,Edu), legend.text = c('F', 'M'))
barplot(table(Sexo, Edad), beside = TRUE, legend.text = c('F', 'M'), col=rainbow(2))
En el caso de variables cuantitativas continuas, como Salario, podemos construir histogramas.
hist(Salario,main="Histograma Salario", col="red")
hist(Salario,main="Histograma Salario", col="red", freq = FALSE)
Podemos crear subconjutos de los datos a partir de alguna característica.
Femenino<-subset(data, Sexo=='F')
Femenino
## # A tibble: 106 x 6
## Obs Edad Sexo Hijos Edu Salario
## <dbl> <dbl> <chr> <dbl> <chr> <dbl>
## 1 2 38 F 2 P 2712375.
## 2 6 26 F 1 P 2054951.
## 3 10 15 F 1 P 3441947.
## 4 13 28 F 2 P 2602895.
## 5 14 27 F 1 P 3758786.
## 6 16 21 F 2 B 3040491.
## 7 18 21 F 1 E 2507129.
## 8 20 22 F 4 B 1663196.
## 9 21 27 F 2 B 4106381.
## 10 22 27 F 0 T 2162541.
## # ... with 96 more rows
hist(Femenino$Salario, main = 'Salario de las mujeres')
Son una serie de funciones que permiten determinar valores alrededor de los cuales se ubican las observaciones.
Representa el centro geométrico de los datos
\[ \bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_i \]
media_Salarios<-mean(Salario)
media_Salarios
## [1] 2943988
Es un valor que separa las observaciones en dos bloques de 50%. Se denota por \(\tilde{X}\).
mediana_Salarios<-median(Salario)
mediana_Salarios
## [1] 2955506
Calcula el valor de la media ignorando un porcentaje de los datos. Este porcentaje se toma de los extremos de una lista ordenada de las observaciones.
media_rec_Salario<-mean(Salario,trim = 0.025)
media_rec_Salario
## [1] 2943946
Describen el lugar en el que están ubicados los datos con relación a la totalidad de los mismos. El percentil \(K\) (\(P_K\)) de un conjunto de observaciones es una cantidad tal que el \(K\)% de las observaciones es menor o igual que dicho valor.
Unos de los percentiles de uso común son los cuartiles:
\[ Q_1=P_{25}\quad;\quad Q_2=P_{50}=\tilde{X}\quad;\quad Q_3=P_{75}\quad;\quad Q_4=P_{100} \]
quantile(Salario)
## 0% 25% 50% 75% 100%
## 1400781 2548302 2955506 3381427 4784996
quantile(Salario, probs=c(0.2,0.7))
## 20% 70%
## 2444310 3261332
Miden la distancia que hay entre los datos y alguna medida de tendencia central o entre los valores extremos de los mismos.
\[ Rango=x_{max}-x_{min} \]
#Rango
range(Edad)
## [1] 14 39
\[ IQR=Q_3-Q_1 \]
#Rango Intercuartil
IQR(Edad)
## [1] 7
#Desviación media
Des.Media=function(x){
DM=mean(abs(x-mean(x)))
return(DM)
}
Des.Media(Edad)
## [1] 3.948
Son las medidas de dispersión más comunes. Se definen como:
\[ S^2=\frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})^2 \quad;\quad S=\sqrt{S^2} \]
var(Salario)
## [1] 355569593021
sd(Salario)
## [1] 596296.6
var(Edad)
## [1] 23.86829
sd(Edad)
## [1] 4.885518
Tipo de gráfico que resume algunas medidas de tendencia central, posición relativa y dispersión.
boxplot(Edad)
boxplot(Salario)
boxplot(Edad, Salario)
boxplot(Edad ~ Sexo)
boxplot(Salario ~ Sexo)
boxplot(Salario ~ Edad)