########PROYECTO-LOAYZA

#CALIDAD DE VINO BLANCO
library(gapminder)
library(ggplot2)
library(moments)
library(fdth)
## 
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
## 
##     sd, var
library(corrplot)
## corrplot 0.84 loaded
datos=read.csv(url("https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv"), sep=";")
View(datos)

#VARIABLES CUANTITATIVAS
#acido citrico(3), cloruros(5),pH(9), alcohol(11)

#VARIABLES CUALITATIVAS
#calidad (12), dioxido de azufre libre(6), azucar residual (4)


#CREAR VARIABLES CUALITATIVAS A PARTIR DE LAS CUANTITATIVAS

hist(datos$residual.sugar) # Hago un histograma para tener idea de los cortes o categorías

datos=data.frame(datos,cut(datos$residual.sugar, breaks = c(0,10,20,30),labels = c("De 0 a 10", "De 10 a 20", "De 20 a 30")))

hist(datos$free.sulfur.dioxide) # Hago un histograma para tener idea de los cortes o categorías

datos=data.frame(datos,cut(datos$free.sulfur.dioxide, breaks = c(0,50,100,150),labels = c("De 0 a 50", "De 50 a 100", "De 100 a 150")))

hist(datos$quality) # Hago un histograma para tener idea de los cortes o categorías

datos=data.frame(datos,cut(datos$quality, breaks = c(0,4,8,10),labels = c("De 0 a 4", "De 4 a 8", "De 8 a 10")))
names(datos)
##  [1] "fixed.acidity"                                                                       
##  [2] "volatile.acidity"                                                                    
##  [3] "citric.acid"                                                                         
##  [4] "residual.sugar"                                                                      
##  [5] "chlorides"                                                                           
##  [6] "free.sulfur.dioxide"                                                                 
##  [7] "total.sulfur.dioxide"                                                                
##  [8] "density"                                                                             
##  [9] "pH"                                                                                  
## [10] "sulphates"                                                                           
## [11] "alcohol"                                                                             
## [12] "quality"                                                                             
## [13] "cut.datos.residual.sugar..breaks...c.0..10..20..30...labels...c..De.0.a.10..."       
## [14] "cut.datos.free.sulfur.dioxide..breaks...c.0..50..100..150...labels...c..De.0.a.50..."
## [15] "cut.datos.quality..breaks...c.0..4..8..10...labels...c..De.0.a.4..."
#ESTADISTICA DESCRIPTIVA UNIVARIANTE
#VARIABLES CUANTITATIVAS

#histogramas
hist(datos$citric.acid)

hist(datos$chlorides)

hist(datos$alcohol)

hist(datos$pH)

#diagramas de cajas
boxplot(datos$citric.acid)

boxplot(datos$chlorides)

boxplot(datos$pH)

boxplot(datos$alcohol)

#media,mediana,cuartiles
summary(datos$citric.acid)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.2700  0.3200  0.3342  0.3900  1.6600
summary(datos$chlorides)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00900 0.03600 0.04300 0.04577 0.05000 0.34600
summary(datos$pH)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.720   3.090   3.180   3.188   3.280   3.820
summary(datos$alcohol)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    8.00    9.50   10.40   10.51   11.40   14.20
#curtosis
kurtosis(datos$citric.acid)
## [1] 9.167374
kurtosis(datos$chlorides)
## [1] 40.52504
kurtosis(datos$pH)
## [1] 3.529009
kurtosis(datos$alcohol)
## [1] 2.301063
#desviacion estandar 
sd(datos$citric.acid, na.rm = TRUE)
## [1] 0.1210198
sd(datos$chlorides, na.rm = TRUE)
## [1] 0.02184797
sd(datos$pH, na.rm = TRUE)
## [1] 0.1510006
sd(datos$alcohol, na.rm = TRUE)
## [1] 1.230621
#sesgos
skewness(datos$citric.acid)
## [1] 1.281528
skewness(datos$chlorides)
## [1] 5.021792
skewness(datos$pH)
## [1] 0.4576423
skewness(datos$alcohol)
## [1] 0.4871927
#tabla de datos agrupados
tabla = fdt(datos$citric.acid)
tabla2 = fdt(datos$chlorides)
tabla3 = fdt(datos$pH)
tabla4 = fdt(datos$alcohol)
tabla 
##     Class limits    f   rf rf(%)   cf  cf(%)
##       [0,0.1198)  100 0.02  2.04  100   2.04
##  [0.1198,0.2395)  566 0.12 11.56  666  13.60
##  [0.2395,0.3593) 2566 0.52 52.39 3232  65.99
##   [0.3593,0.479) 1063 0.22 21.70 4295  87.69
##   [0.479,0.5988)  445 0.09  9.09 4740  96.77
##  [0.5988,0.7185)   85 0.02  1.74 4825  98.51
##  [0.7185,0.8383)   61 0.01  1.25 4886  99.76
##  [0.8383,0.9581)    4 0.00  0.08 4890  99.84
##   [0.9581,1.078)    6 0.00  0.12 4896  99.96
##    [1.078,1.198)    0 0.00  0.00 4896  99.96
##    [1.198,1.317)    1 0.00  0.02 4897  99.98
##    [1.317,1.437)    0 0.00  0.00 4897  99.98
##    [1.437,1.557)    0 0.00  0.00 4897  99.98
##    [1.557,1.677)    1 0.00  0.02 4898 100.00
tabla2
##       Class limits    f   rf rf(%)   cf  cf(%)
##  [0.00891,0.03324)  899 0.18 18.35  899  18.35
##  [0.03324,0.05756) 3501 0.71 71.48 4400  89.83
##  [0.05756,0.08189)  336 0.07  6.86 4736  96.69
##   [0.08189,0.1062)   55 0.01  1.12 4791  97.82
##    [0.1062,0.1305)   29 0.01  0.59 4820  98.41
##    [0.1305,0.1549)   22 0.00  0.45 4842  98.86
##    [0.1549,0.1792)   29 0.01  0.59 4871  99.45
##    [0.1792,0.2035)   12 0.00  0.24 4883  99.69
##    [0.2035,0.2278)    7 0.00  0.14 4890  99.84
##    [0.2278,0.2522)    3 0.00  0.06 4893  99.90
##    [0.2522,0.2765)    2 0.00  0.04 4895  99.94
##    [0.2765,0.3008)    1 0.00  0.02 4896  99.96
##    [0.3008,0.3251)    1 0.00  0.02 4897  99.98
##    [0.3251,0.3495)    1 0.00  0.02 4898 100.00
tabla3
##   Class limits    f   rf rf(%)   cf  cf(%)
##  [2.693,2.776)    3 0.00  0.06    3   0.06
##  [2.776,2.859)   21 0.00  0.43   24   0.49
##  [2.859,2.943)  183 0.04  3.74  207   4.23
##  [2.943,3.026)  421 0.09  8.60  628  12.82
##  [3.026,3.109)  821 0.17 16.76 1449  29.58
##  [3.109,3.192) 1256 0.26 25.64 2705  55.23
##  [3.192,3.276)  924 0.19 18.86 3629  74.09
##  [3.276,3.359)  603 0.12 12.31 4232  86.40
##  [3.359,3.442)  400 0.08  8.17 4632  94.57
##  [3.442,3.525)  156 0.03  3.18 4788  97.75
##  [3.525,3.608)   67 0.01  1.37 4855  99.12
##  [3.608,3.692)   26 0.01  0.53 4881  99.65
##  [3.692,3.775)   12 0.00  0.24 4893  99.90
##  [3.775,3.858)    5 0.00  0.10 4898 100.00
tabla4
##     Class limits   f   rf rf(%)   cf  cf(%)
##    [7.92,8.3787)   2 0.00  0.04    2   0.04
##  [8.3787,8.8374) 220 0.04  4.49  222   4.53
##  [8.8374,9.2961) 623 0.13 12.72  845  17.25
##  [9.2961,9.7549) 833 0.17 17.01 1678  34.26
##  [9.7549,10.214) 657 0.13 13.41 2335  47.67
##  [10.214,10.672) 519 0.11 10.60 2854  58.27
##  [10.672,11.131) 569 0.12 11.62 3423  69.89
##   [11.131,11.59) 435 0.09  8.88 3858  78.77
##   [11.59,12.048) 329 0.07  6.72 4187  85.48
##  [12.048,12.507) 356 0.07  7.27 4543  92.75
##  [12.507,12.966) 217 0.04  4.43 4760  97.18
##  [12.966,13.425)  97 0.02  1.98 4857  99.16
##  [13.425,13.883)  31 0.01  0.63 4888  99.80
##  [13.883,14.342)  10 0.00  0.20 4898 100.00
#variables cualitativas
#diagrama de barras

ggplot(datos, aes(x = cut.datos.residual.sugar..breaks...c.0..10..20..30...labels...c..De.0.a.10...)) + geom_bar(width = 0.5,fill=rgb(0.6,0.3,0.8,1) ) + labs(title = "Grafico de barras 1", x = "Azucar residual")

ggplot(datos, aes(x = cut.datos.free.sulfur.dioxide..breaks...c.0..50..100..150...labels...c..De.0.a.50...)) + geom_bar(width = 0.5,fill=rgb(0.2,0.5,0.7,1) ) + labs(title = "Grafico de barras 2", x = "Dioxido de azufre libre")

ggplot(datos, aes(x = cut.datos.quality..breaks...c.0..4..8..10...labels...c..De.0.a.4...)) + geom_bar(width = 0.5,fill=rgb(0.9,0.3,0.1,1) ) + labs(title = "Grafico de barras 3", x = "Calidad")

#diagrama de circulos

porcentajes = as.numeric(round(((prop.table(table(datos$cut.datos.residual.sugar..breaks...c.0..10..20..30...labels...c..De.0.a.10...)))*100),2))
porcentajes
## [1] 75.69 24.00  0.31
etiquetas = c("De 0 a 10 -","De 10 a 20 -","De 20 a 30 -")
etiquetas = paste(etiquetas, porcentajes)
etiquetas = paste(etiquetas, "%", sep = "")
etiquetas
## [1] "De 0 a 10 - 75.69%" "De 10 a 20 - 24%"   "De 20 a 30 - 0.31%"
pie(porcentajes, etiquetas,
    main = "Gráfico de torta 1" )

porcentajes = as.numeric(round(((prop.table(table(datos$cut.datos.free.sulfur.dioxide..breaks...c.0..50..100..150...labels...c..De.0.a.50...)))*100),2))
porcentajes
## [1] 82.30 17.38  0.33
etiquetas = c("De 0 a 50 -","De 50 a 100 -","De 100 a 150 -")
etiquetas = paste(etiquetas, porcentajes)
etiquetas = paste(etiquetas, "%", sep = "")
etiquetas
## [1] "De 0 a 50 - 82.3%"    "De 50 a 100 - 17.38%" "De 100 a 150 - 0.33%"
pie(porcentajes, etiquetas,
    main = "Gráfico de torta 2")

porcentajes = as.numeric(round(((prop.table(table(datos$cut.datos.quality..breaks...c.0..4..8..10...labels...c..De.0.a.4...)))*100),2))
porcentajes 
## [1]  3.74 96.16  0.10
etiquetas = c("Malo","Bueno","Muy bueno")
etiquetas = paste(etiquetas, porcentajes)
etiquetas = paste(etiquetas, "%", sep = "")
etiquetas
## [1] "Malo 3.74%"     "Bueno 96.16%"   "Muy bueno 0.1%"
pie(porcentajes, etiquetas,
    main = "Gráfico de torta 3")

#ESTADISTICA DESCRIPTIVA BIVARIANTE O MULTIVARIANTE
#variables cualitativas
boxplot(datos$citric.acid~datos$cut.datos.residual.sugar..breaks...c.0..10..20..30...labels...c..De.0.a.10..., xlab = "Azucar residual", ylab = "Ácido cítrico")

boxplot(datos$chlorides~datos$cut.datos.free.sulfur.dioxide..breaks...c.0..50..100..150...labels...c..De.0.a.50..., xlab = "Dioxido de azufre libre", ylab = "Cloruros")

boxplot(datos$pH~datos$cut.datos.quality..breaks...c.0..4..8..10...labels...c..De.0.a.4..., xlab = "Calidad", ylab = "pH")

boxplot(datos$alcohol~datos$cut.datos.residual.sugar..breaks...c.0..10..20..30...labels...c..De.0.a.10...,xlab = "Azucar residual",ylab = "Alcohol")

#variables cuantitativas
cor(datos[,c(3,5,9,11)]) #matriz de correlacion
##             citric.acid   chlorides          pH     alcohol
## citric.acid  1.00000000  0.11436445 -0.16374821 -0.07572873
## chlorides    0.11436445  1.00000000 -0.09043946 -0.36018871
## pH          -0.16374821 -0.09043946  1.00000000  0.12143210
## alcohol     -0.07572873 -0.36018871  0.12143210  1.00000000
cov(datos[,c(3,5,9,11)]) #matriz de covarianza
##               citric.acid     chlorides            pH      alcohol
## citric.acid  0.0146457930  0.0003023838 -0.0029923451 -0.011278239
## chlorides    0.0003023838  0.0004773337 -0.0002983649 -0.009684235
## pH          -0.0029923451 -0.0002983649  0.0228011811  0.022565052
## alcohol     -0.0112782389 -0.0096842350  0.0225650522  1.514426982
dat = cor(datos[,c(3,5,9,11)]) #matriz grafica de correlacion
corrplot.mixed(cor(dat),lower = "circle",upper = "number")

plot(datos[,c(3,5,9,11)]) #matriz de diagramas de dispercion

#CALIDAD DE VINO BLANCO
El vino blanco es elaborado a patir del mosto de las uvas blancas o tintas, este se caracteriza por su elaboracion “en virgen” que se define como la fermentacion del mosto en ausencua de partes solidas. Los vino blancos pueden ser secos, es decir que carecen de azucar, o su contenido de azucar residual es menor a 5 g/l, tambien existen vinos con niveles de azucares superiores, lo cual clasifica a los vinos blancos en diferentes categorias:

** Tipo de vino ** ** Azucar(gramos) 2**
Seco < 5
Abocado 5 a 15
Semiseco 15 a 30
Semidulce 30 a 50
Dulce > 50

Los azucares residuales procesan en su gran parte al mosto, quedandose sin transformar el alcohol durante la fermentacion. En otros caso, el origen de estas sustancias suelen ser por la adicion autorizada de azucares, bajo la forma de mosto cooncentrado o de productos con procendentes similares de otras vendimias. Tambien se pueden clasificar a los vinos blancos por su elaboracion o crianza, existen los siguientes tipos:

Vinos jovenes o del año | Vinos criados o envejecidos en barrica | Vinos fermentados en barrica | Vinos generosos de crianza |

Otras maneras de clasificar los vinos blancos son por su origen o variedad de uva utilizada en su elaboracion :

Vinos blancos neutros| Vinos blancos aromaticos |

La ácidez es una de las caracteristicas de los vinos, ya que su nivel depende del equilibrio gustativo, este nivel de ácidez depende de dos parámetros: ácidez fija y volátil. La ácidez fija depende de los ácidos orgánicos que se presentan en la uva, el tartárico, el málico y el cítrico, mientras que la ácidez volatil es originaria de la vinificación, del cual se forman cantidades limitadas de ácido acético, tambien en la fermentación maloláctica se transforma el ácido málico en ácido láctico, dando asi una mejor sensanción gustativa.El pH en los vinos varían de 3 a 4, en el vino blanco se presenta entre 3,0 a 3,3, mientras que el tinto va desde 3,3 a 3,6.

El zumo o mosto de uva presenta variables cantidades de azucares, la uva contiene entre 15% - 25% de glucosa y fructosa. La proporcion siendo gluocosa/fructosa aproximadamente de 0,95 tanto para uvas frescas como las maduras. La fermentacion alcoholica es un proceso anaeróbico realizado por las levaduras, se produce de manera espontánea. Durante el proceso de fermentacion de azucares, estas se transforman por la acción de las levaduras en alcohol etílico y anhídrido carbónico, además se producen otras sustancias minoritarias que dan trascendencia a las posteriores caracteristicas del vino, aromas y gutos de origen fermentativo. La proporcion de alcohol de una bebidan, para el volumen dado, se denomida grado alchólico. La graduación de los vinos varía entre 7 y un 16% de alcohol por volumen, aunque la mayoría de vinos van desde 10 a 14 grados, mientras que los vinos dulces tienen entre un 15 a 22% de alcohol por volumen.Las bebidas pueden ser fermentadas y destiladas.

#DIAGRAMA DE CAJAS ENTRE GRADOS DE ALCOHOL Y AZUCAR RESIDUAL

En los diagramas de caja podemos observar que los datos que nos presenta el azucar residual trata de vinos secos, semisecos y abocados que presentan desde 0 hasta 30 g/L de azucar residual, mientras que los datos de alcohol nos muestra que para los vinos secos y abocados su grado de alcohol varia desde los 10 hasta los 12 grados,y los vinos abocados y semisecos varian desde los 8 hasta los 11 grados de alcohol.Lo cual nos indica que se presenta una gran variedad de vinos blancos.

##DIAGRAMAS DE CAJAS ENTRE pH Y CALIDAD

El pH del vino blanco esta entre 3.0 a 3.3 por lo que se puede observar en el diagrama de cajas en el tipo de calidad de 0 a 4 que seria una calidad mala, podemos observar la mediana, los quartiles, bigotes, datos atipicos que van desde 3.5 del pH, mientras que en la calidad de 4 a 8 los datos atipidos van 0 a 2.8 antes de extremo inferios y de 3.5 hasta 3.8 despues del extremo superior, en cambio los de calidad muy buena de 8 a 10 no presentan datos atipicos.