Estadisticas descriptivas

En el presente documento se analiza la base de datos de los diferentes componentes del vino.

Paso 1: Importación de datos

A continuación importamos los datos en formato csv.

BD <- read.csv("~/Angela/BA_PUCP/2.Programacion_Estadistica/winequality-red.csv")

Paso 2: Estructura de la data

En este paso se muestra la composición de la data en análisis.

str(BD)
## 'data.frame':    1599 obs. of  12 variables:
##  $ fixed.acidity       : num  7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
##  $ volatile.acidity    : num  0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
##  $ citric.acid         : num  0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
##  $ residual.sugar      : num  1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
##  $ chlorides           : num  0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
##  $ free.sulfur.dioxide : num  11 25 15 17 11 13 15 15 9 17 ...
##  $ total.sulfur.dioxide: num  34 67 54 60 34 40 59 21 18 102 ...
##  $ density             : num  0.998 0.997 0.997 0.998 0.998 ...
##  $ pH                  : num  3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
##  $ sulphates           : num  0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
##  $ alcohol             : num  9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
##  $ quality             : int  5 5 5 6 5 5 5 7 7 5 ...

Contamos con 12 variables y 1599 registros. De las variables, 11 de ellas son numéricas (cuantitativas continuas) y 1 es numérica pero del tipo categorico.

Paso 3: Resumen descriptivo de la data

Damos una breve revisión de los estadísticos descriptivos básicos de cada variable componente de la data. Retiramos del análisis a la variable “Quality” ubicado en la columna 12, si bien es una variable numérica, es de tipo cualitativa y requiere de otros métodos para su análisis.

summary(BD[,-12])
##  fixed.acidity   volatile.acidity  citric.acid    residual.sugar  
##  Min.   : 4.60   Min.   :0.1200   Min.   :0.000   Min.   : 0.900  
##  1st Qu.: 7.10   1st Qu.:0.3900   1st Qu.:0.090   1st Qu.: 1.900  
##  Median : 7.90   Median :0.5200   Median :0.260   Median : 2.200  
##  Mean   : 8.32   Mean   :0.5278   Mean   :0.271   Mean   : 2.539  
##  3rd Qu.: 9.20   3rd Qu.:0.6400   3rd Qu.:0.420   3rd Qu.: 2.600  
##  Max.   :15.90   Max.   :1.5800   Max.   :1.000   Max.   :15.500  
##    chlorides       free.sulfur.dioxide total.sulfur.dioxide    density      
##  Min.   :0.01200   Min.   : 1.00       Min.   :  6.00       Min.   :0.9901  
##  1st Qu.:0.07000   1st Qu.: 7.00       1st Qu.: 22.00       1st Qu.:0.9956  
##  Median :0.07900   Median :14.00       Median : 38.00       Median :0.9968  
##  Mean   :0.08747   Mean   :15.87       Mean   : 46.47       Mean   :0.9967  
##  3rd Qu.:0.09000   3rd Qu.:21.00       3rd Qu.: 62.00       3rd Qu.:0.9978  
##  Max.   :0.61100   Max.   :72.00       Max.   :289.00       Max.   :1.0037  
##        pH          sulphates         alcohol     
##  Min.   :2.740   Min.   :0.3300   Min.   : 8.40  
##  1st Qu.:3.210   1st Qu.:0.5500   1st Qu.: 9.50  
##  Median :3.310   Median :0.6200   Median :10.20  
##  Mean   :3.311   Mean   :0.6581   Mean   :10.42  
##  3rd Qu.:3.400   3rd Qu.:0.7300   3rd Qu.:11.10  
##  Max.   :4.010   Max.   :2.0000   Max.   :14.90

Con la función summary podemos obtener los estadísticos descriptivos básicos de cada una de las variables: - Ninguna de las variables analizadas tiene presencia de missing. - Se observan algunas variables con presencia de datos outliers

Convertimos la variable “quality” a factor para poder procesarla.

## 'data.frame':    1599 obs. of  12 variables:
##  $ fixed.acidity       : num  7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
##  $ volatile.acidity    : num  0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
##  $ citric.acid         : num  0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
##  $ residual.sugar      : num  1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
##  $ chlorides           : num  0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
##  $ free.sulfur.dioxide : num  11 25 15 17 11 13 15 15 9 17 ...
##  $ total.sulfur.dioxide: num  34 67 54 60 34 40 59 21 18 102 ...
##  $ density             : num  0.998 0.997 0.997 0.998 0.998 ...
##  $ pH                  : num  3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
##  $ sulphates           : num  0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
##  $ alcohol             : num  9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
##  $ quality             : Factor w/ 6 levels "3","4","5","6",..: 3 3 3 4 3 3 3 5 5 3 ...

Paso 4: Generación de codigo para lectura de datos mediante uso de for, if e if.numeric

Damos una breve revisión de los estadísticos descriptivos básicos de cada variable de la data. Retiramos del análisis a la variable “Quality”, si bien es una variable numerica, ésta es del tipo cualitativa y requiere de otros métodos para su análisis.

columnas <-dim(BD)[2]
par(mfrow=c(1,3))
for (i in 1:columnas) {
if(is.numeric(BD[,i])==TRUE)
{
  texto <-paste ("Analisis descriptivo: ",colnames(BD)[i])
  texto1 <-paste ("Diagrama boxplot: ",colnames(BD)[i])
  hist(BD[,i],col = "lightcyan", main=texto)
  boxplot(BD[,i],col ="orange", main =texto1)
  plot(BD[,i],col=i, main="Grafico dispersión")
}
else
{
  texto2<- paste("Analisis categoricas: ", colnames(BD)[i])
  pie(table(BD[,i]),col= table(BD[,i]), main = texto2, label = table(BD[,i]))
  barplot(table(BD[,i]), col= table(BD[,i]), main= texto2, font.main=4,legend = rownames(table(BD[,i])))
  
}
}

Se presenta la tabla de frecuencias de la variable Quality

for (i in 1:columnas) {
if(is.factor(BD[,i])==TRUE)
{
  print(table(BD[,i]))
}
}
## 
##   3   4   5   6   7   8 
##  10  53 681 638 199  18

Paso 5: Conclusiones

Variable 11 “alcohol”:

  1. Del histograma podemos apreciar que la mínima observación encontrada es 8.4 y máxima de 14.9,los valores se encuentran acumulados principalmente entre el rango de [9 -10> (400 y 300 casos respectivamente), lo que indica que los datos siguen una distribución asimetrica de cola derecha.
  2. Del diagrama de cajas observamos la presencia de datos outliers sobre el limite superior
  3. Del gráfico de dispersión podemos ver como se encuentra la concentración de los valores que toma la variable, asi mismo podemos validar lo indicado en el diagrama de cajas, la presencia de valores outliers.

Variable 12 “quality”:

Al tratarse de una variable del tipo categorica,

  1. El gráfico de barras, nos muestra 6 tipos de calidades de vino, identificadas en la escala de 3 al 8. Donde las calidades tipo 5 y 6 son las de mayor presencia. En el gráfico de pie se detalla el número de casos que presenta cada tipo de calidad (para los tipos 5 y 6, cada uno superando los 600 casos para una base de 1599 observaciones)