1. Introducción El presente análisis corresponde al Grupo N° 06, integrado por: Gloria Mantilla Varas Sarita Churango Zárate Denilson Pongo Palomino El objetivo de esta práctica es realizar un análisis exploratorio del conjunto de datos Wine Quality (Red), el cual contiene variables fisicoquímicas y una calificación de calidad para vinos tintos.

  2. Carga de Datos Se carga la base de datos desde la ruta local. El dataset contiene 1,599 observaciones y 12 variables.

df55 <- read.csv("D:/Met_Mora/Version_04/CursoAnalytic/winequality-red.csv")
  1. Descripción General del Conjunto de Datos A continuación se presenta la estructura general de los datos: nombres de variables, tipos de datos, dimensiones y las primeras observaciones.
names(df55)
##  [1] "fixed.acidity"        "volatile.acidity"     "citric.acid"         
##  [4] "residual.sugar"       "chlorides"            "free.sulfur.dioxide" 
##  [7] "total.sulfur.dioxide" "density"              "pH"                  
## [10] "sulphates"            "alcohol"              "quality"
str(df55)
## '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 ...
dim(df55)
## [1] 1599   12
class(df55)
## [1] "data.frame"
head(df55)
##   fixed.acidity volatile.acidity citric.acid residual.sugar chlorides
## 1           7.4             0.70        0.00            1.9     0.076
## 2           7.8             0.88        0.00            2.6     0.098
## 3           7.8             0.76        0.04            2.3     0.092
## 4          11.2             0.28        0.56            1.9     0.075
## 5           7.4             0.70        0.00            1.9     0.076
## 6           7.4             0.66        0.00            1.8     0.075
##   free.sulfur.dioxide total.sulfur.dioxide density   pH sulphates alcohol
## 1                  11                   34  0.9978 3.51      0.56     9.4
## 2                  25                   67  0.9968 3.20      0.68     9.8
## 3                  15                   54  0.9970 3.26      0.65     9.8
## 4                  17                   60  0.9980 3.16      0.58     9.8
## 5                  11                   34  0.9978 3.51      0.56     9.4
## 6                  13                   40  0.9978 3.51      0.56     9.4
##   quality
## 1       5
## 2       5
## 3       5
## 4       6
## 5       5
## 6       5

Interpretación: El dataset cuenta con 11 variables numéricas continuas (propiedades fisicoquímicas del vino) y una variable discreta (quality) que representa la calidad del vino en una escala de 0 a 10.

  1. Análisis Descriptivo Se presentan las medidas de tendencia central, dispersión y posición para cada variable numérica.
summary(df55)
##  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         quality     
##  Min.   :2.740   Min.   :0.3300   Min.   : 8.40   Min.   :3.000  
##  1st Qu.:3.210   1st Qu.:0.5500   1st Qu.: 9.50   1st Qu.:5.000  
##  Median :3.310   Median :0.6200   Median :10.20   Median :6.000  
##  Mean   :3.311   Mean   :0.6581   Mean   :10.42   Mean   :5.636  
##  3rd Qu.:3.400   3rd Qu.:0.7300   3rd Qu.:11.10   3rd Qu.:6.000  
##  Max.   :4.010   Max.   :2.0000   Max.   :14.90   Max.   :8.000

Hallazgos principales: La calidad promedio del vino se sitúa en torno a 5.6, con un rango entre 3 y 8. Variables como residual sugar y free sulfur dioxide presentan alta dispersión (valores máximos muy superiores al tercer cuartil), lo que sugiere la presencia de valores atípicos. El pH se mantiene en un rango relativamente estable (2.74 - 4.01).

  1. Distribución de las Variables Se generan histogramas para las variables continuas y un gráfico de barras para la variable categórica quality.
columns <- dim(df55)[2]
par(mfrow = c(3, ceiling(columns/3)))

for (i in 1:columns) {
  if (is.numeric(df55[[i]]) == TRUE && names(df55)[i] != "quality") {
    hist(
      df55[[i]],
      main = names(df55)[i],
      xlab = "",
      ylab = "Frecuencia",
      col = "lightblue",
      border = "white"
    )
  } else {
    barplot(
      table(df55[[i]]),
      main = names(df55)[i],
      ylab = "Frecuencia",
      col = "lightblue",
      border = "white"
    )
  }
}

Interpretación: La mayoría de las variables presentan distribuciones asimétricas positivas (cola hacia la derecha), como residual sugar, chlorides y sulphates. La variable quality tiene una distribución aproximadamente normal, concentrada en los valores 5, 6 y 7.

  1. Análisis de Valores Atípicos Se utiliza el diagrama de caja (boxplot) para identificar visualmente la presencia de outliers en cada variable numérica.
par(mfrow = c(3, 4))

for (i in 1:11) {
  x <- df55[, i]
  if (is.numeric(x) == TRUE) {
    boxplot(
      x,
      main = names(df55)[i],
      xlab = "",
      col = "lightblue"
    )
  }
}

Interpretación: Se observan valores atípicos significativos en fixed acidity, volatile acidity, citric acid, residual sugar, chlorides, free sulfur dioxide, total sulfur dioxide y sulphates. Estos outliers podrían deberse a errores de medición o a vinos con características realmente atípicas. Sería recomendable evaluar su impacto antes de modelar.

  1. Análisis de la Calidad del Vino Se construye una tabla de frecuencias y porcentajes para la variable quality, seguida de su representación gráfica.
tabla_calidad <- data.frame(
  Calidad = names(table(df55$quality)),
  Cantidad = as.vector(table(df55$quality)),
  Porcentaje = round(as.vector(prop.table(table(df55$quality)) * 100), 2)
)

tabla_calidad
##   Calidad Cantidad Porcentaje
## 1       3       10       0.63
## 2       4       53       3.31
## 3       5      681      42.59
## 4       6      638      39.90
## 5       7      199      12.45
## 6       8       18       1.13
par(mfrow = c(1, 1))
barplot(
  tabla_calidad$Porcentaje,
  main = "Distribución porcentual de la calidad del vino",
  ylab = "Frecuencia (%)",
  col = "lightblue",
  border = "white",
  names.arg = as.character(tabla_calidad$Calidad)
)

Interpretación: El 82.5% de los vinos tienen una calidad de 5 o 6, lo que indica una muestra con predominio de vinos de calidad media. Solo el 1.25% de los vinos alcanzan una calidad de 3 (muy baja) y el 0.63% una calidad de 8 (muy alta). La distribución es aproximadamente simétrica alrededor de la media, sin sesgo marcado.

  1. Conclusiones El dataset presenta una estructura adecuada para análisis estadístico, con 11 variables predictoras continuas y una variable respuesta discreta (quality). La mayoría de las variables fisicoquímicas muestran asimetría positiva y presencia de valores atípicos, lo cual debe considerarse en etapas de modelado predictivo. La calidad del vino se concentra principalmente en los valores 5 y 6, por lo que un modelo de clasificación podría enfrentar problemas de desbalance de clases en los extremos (calidad 3 y 8). Se recomienda, en futuros análisis, aplicar técnicas de normalización y tratamiento de outliers antes de construir modelos predictivos.