A continuación se realiza un análisis descriptivo de la base de datos de la calidad del vino. Esta Base de datos la puede descargar del siguiente link https://www.kaggle.com/datasets/yasserh/wine-quality-dataset/data.
Esta Base de datos describe la variedad de químicos presentes en el vino y el efecto en su calidad.
#importar la BD de Toyota Corolla y realizar un resumen de la data
BD <- read.csv("~/Downloads/winequality-red.csv")
#imprimir la dimensión de la BD
dim(BD)
## [1] 1599 12
#nombres de la BD
names (BD)
## [1] "fixed.acidity" "volatile.acidity" "citric.acid"
## [4] "residual.sugar" "chlorides" "free.sulfur.dioxide"
## [7] "total.sulfur.dioxide" "density" "pH"
## [10] "sulphates" "alcohol" "quality"
#cantidad de columnas
columna <- dim(BD)[2]
columna
## [1] 12
#la composición de la data
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 ...
#resumen de los cuartiles de la data
summary (BD)
## 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
indexn <- NULL
indexc <- NULL
par(mfrow= c(3,4))
for(i in 1:columna){
if(is.numeric(BD[ , i])== TRUE){
titulo <- paste("Químico: ", colnames(BD[i]))
hist(BD[ , i] , col = i, main = titulo,
xlab = "Intervalo de variable",
ylab = "Frecuencia")
indexn <- c(indexn,i)
} else{
titulo <- paste("Químico: ", colnames(BD[i]))
pie(table(BD[ , i]), main = titulo)
indexc <- c(indexc,i)
}
}
Se tiene una base de datos de 1599 registros con 12 columnas, las cuales 11 de ellas corresponden a químicos que influyen en la calidad de vino, o en este caso, variables de entrada; asimismo, se observa que la última columna corresponde a la variable quality, lo que también sería nuestra variable de salida. Se tendría que investigar la correlación entre los químicos y la calidad del vino.
Al revisar el resumen de los cuartiles, se puede apreciar que para algunas variables la data es simétrica ya que su media y mediana son valores casi iguales, como es el caso de la variable density y la variable ph, lo cual nos podría indicar que su comportamiento es normal. Asimismo, se observa que la calidad del vino toma valores enteros entre 3 y 8, indicando su puntuación de acuerdo a los químicos que dicho registro presente.
En este caso todas las variables son numéricas, pero en el caso de que fueran categóricas, se mostraría un diagrama de pie. Por ejemplo, si cambiaramos los valores de la calidad del vino para menores de 5 (Q1) “malo”, entre 5 y 6 “normal”, y mayores de 6 (Q3) “bueno”, tendríamos el siguiente diagrama:
quality <- BD[, ncol(BD)]
quality_cat <- ifelse(quality < 5, "malo",
ifelse(quality >= 5 & quality <= 6, "normal", "bueno"))
pie(table(quality_cat), main = "Distribución de la calidad", col = c("green","red", "yellow"))