ESTADISTICA DESCRIPTIVA
Primer parcial
Vino blanco ~ Base de datos
Paralelo 6
El objetivo de la revisión de esta base de datos es para modelar las diferentes caracterizaciones Físico-químicas en la industria vitinícola.
library(knitr)
library("rsconnect")
Sys.setlocale("LC_ALL", "ES_ES.UTF-8")
## Warning in Sys.setlocale("LC_ALL", "ES_ES.UTF-8"): OS reports request to set
## locale to "ES_ES.UTF-8" cannot be honored
## [1] ""
knitr::opts_chunk$set(error = FALSE)
data=read.csv(url("https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv"), sep=";")
datos_frame <- data.frame(data)
head(datos_frame)
## fixed.acidity volatile.acidity citric.acid residual.sugar chlorides
## 1 7.0 0.27 0.36 20.7 0.045
## 2 6.3 0.30 0.34 1.6 0.049
## 3 8.1 0.28 0.40 6.9 0.050
## 4 7.2 0.23 0.32 8.5 0.058
## 5 7.2 0.23 0.32 8.5 0.058
## 6 8.1 0.28 0.40 6.9 0.050
## free.sulfur.dioxide total.sulfur.dioxide density pH sulphates alcohol
## 1 45 170 1.0010 3.00 0.45 8.8
## 2 14 132 0.9940 3.30 0.49 9.5
## 3 30 97 0.9951 3.26 0.44 10.1
## 4 47 186 0.9956 3.19 0.40 9.9
## 5 47 186 0.9956 3.19 0.40 9.9
## 6 30 97 0.9951 3.26 0.44 10.1
## quality
## 1 6
## 2 6
## 3 6
## 4 6
## 5 6
## 6 6
attach(data)
attach(datos_frame) #lo que estamos haciendo es usar el comando attach, para fijar el data frame a trabajar
## The following objects are masked from data:
##
## alcohol, chlorides, citric.acid, density, fixed.acidity,
## free.sulfur.dioxide, pH, quality, residual.sugar, sulphates,
## total.sulfur.dioxide, volatile.acidity
library(psych)
describe(datos_frame)
## vars n mean sd median trimmed mad min max
## fixed.acidity 1 4898 6.85 0.84 6.80 6.82 0.74 3.80 14.20
## volatile.acidity 2 4898 0.28 0.10 0.26 0.27 0.09 0.08 1.10
## citric.acid 3 4898 0.33 0.12 0.32 0.33 0.09 0.00 1.66
## residual.sugar 4 4898 6.39 5.07 5.20 5.80 5.34 0.60 65.80
## chlorides 5 4898 0.05 0.02 0.04 0.04 0.01 0.01 0.35
## free.sulfur.dioxide 6 4898 35.31 17.01 34.00 34.36 16.31 2.00 289.00
## total.sulfur.dioxide 7 4898 138.36 42.50 134.00 136.96 43.00 9.00 440.00
## density 8 4898 0.99 0.00 0.99 0.99 0.00 0.99 1.04
## pH 9 4898 3.19 0.15 3.18 3.18 0.15 2.72 3.82
## sulphates 10 4898 0.49 0.11 0.47 0.48 0.10 0.22 1.08
## alcohol 11 4898 10.51 1.23 10.40 10.43 1.48 8.00 14.20
## quality 12 4898 5.88 0.89 6.00 5.85 1.48 3.00 9.00
## range skew kurtosis se
## fixed.acidity 10.40 0.65 2.17 0.01
## volatile.acidity 1.02 1.58 5.08 0.00
## citric.acid 1.66 1.28 6.16 0.00
## residual.sugar 65.20 1.08 3.46 0.07
## chlorides 0.34 5.02 37.51 0.00
## free.sulfur.dioxide 287.00 1.41 11.45 0.24
## total.sulfur.dioxide 431.00 0.39 0.57 0.61
## density 0.05 0.98 9.78 0.00
## pH 1.10 0.46 0.53 0.00
## sulphates 0.86 0.98 1.59 0.00
## alcohol 6.20 0.49 -0.70 0.02
## quality 6.00 0.16 0.21 0.01
- Acidez Fija: haciendo referencia a los Ácidos naturales proveniente de la uva utilizada.
- Acidez Volátil: la cual se puede calcular mediante pruebas de laboratorio de química orgánica, empleando los métodos de destilación directa y la destilación por arrastre de vapor.
- Ácido Cítrico: Desaparece por el accionar de las bacterias presentes en la fermentación.
- Azúcar Residual: es la azúcar que queda presente en el vino déspues del proceso de fermentación, aparecen en forma de pentosas.
- Cloruros: estos tienen una relación entre la planta y el suelo, debido a su capacidad de absorción.
- Dióxido de azufre libre: uno de los compuesto que oxidará a los fenoles permitiendo asi la produción de un producto llamado sulfito.
- Dióxido de azufre total: cantidad correspondiente a la capicidad toal de dióxido de azufre presente en el vino.
- Densidad: corresponde segun la masa volúmica.
- pH: es la medida que proporciona estabilidad al vino.
- Sulfatos: infiere a las coloraciones con sulfuro.
- Alcohol: viene regido por el estatuo del vino, y se usa métodos de graduación de alchol como el Txakolis.
- Calidad: esto se refleja en la producción de la uva, el cual es la materia prima, que conjunto a varios procesos hará que el vino obtenga una excelente calidad.
Variables Cuantitativas
library(fdth) #Descarga de la libreria ''fdth''
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
attach(datos_frame) #Fijacion del data frame para trabajar con cada variable con mayor facilidad.
## The following objects are masked from datos_frame (pos = 5):
##
## alcohol, chlorides, citric.acid, density, fixed.acidity,
## free.sulfur.dioxide, pH, quality, residual.sugar, sulphates,
## total.sulfur.dioxide, volatile.acidity
## The following objects are masked from data:
##
## alcohol, chlorides, citric.acid, density, fixed.acidity,
## free.sulfur.dioxide, pH, quality, residual.sugar, sulphates,
## total.sulfur.dioxide, volatile.acidity
tb1<- fdt(fixed.acidity, breaks = "Sturges") #Tabla de datos agrupdos para la variable 'acidez fija'.
tb1
## Class limits f rf rf(%) cf cf(%)
## [3.762,4.5177) 8 0.00 0.16 8 0.16
## [4.5177,5.2734) 97 0.02 1.98 105 2.14
## [5.2734,6.0291) 653 0.13 13.33 758 15.48
## [6.0291,6.7849) 1569 0.32 32.03 2327 47.51
## [6.7849,7.5406) 1684 0.34 34.38 4011 81.89
## [7.5406,8.2963) 605 0.12 12.35 4616 94.24
## [8.2963,9.052) 210 0.04 4.29 4826 98.53
## [9.052,9.8077) 60 0.01 1.22 4886 99.76
## [9.8077,10.563) 8 0.00 0.16 4894 99.92
## [10.563,11.319) 2 0.00 0.04 4896 99.96
## [11.319,12.075) 1 0.00 0.02 4897 99.98
## [12.075,12.831) 0 0.00 0.00 4897 99.98
## [12.831,13.586) 0 0.00 0.00 4897 99.98
## [13.586,14.342) 1 0.00 0.02 4898 100.00
describe(fixed.acidity)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 6.85 0.84 6.8 6.82 0.74 3.8 14.2 10.4 0.65 2.17 0.01
hist(datos_frame$fixed.acidity, labels = T ,main = "Histograma de la Acidez fija en el Vino Blanco",
xlab=" ",
ylab = "Frecuencia ", col="lightblue")
boxplot(datos_frame$fixed.acidity, main= "Diagrama de caja - la Acidez fija en el Vino Blanco", horizontal = TRUE)
tb2 <- fdt(volatile.acidity, breaks = "Sturges")
tb2 #Tabla de datos agrupados usando el comando 'fdt'
## Class limits f rf rf(%) cf cf(%)
## [0.0792,0.1529) 264 0.05 5.39 264 5.39
## [0.1529,0.2266) 1284 0.26 26.21 1548 31.60
## [0.2266,0.3003) 1813 0.37 37.02 3361 68.62
## [0.3003,0.374) 883 0.18 18.03 4244 86.65
## [0.374,0.4477) 373 0.08 7.62 4617 94.26
## [0.4477,0.5214) 145 0.03 2.96 4762 97.22
## [0.5214,0.5951) 63 0.01 1.29 4825 98.51
## [0.5951,0.6688) 41 0.01 0.84 4866 99.35
## [0.6688,0.7425) 19 0.00 0.39 4885 99.73
## [0.7425,0.8162) 6 0.00 0.12 4891 99.86
## [0.8162,0.8899) 1 0.00 0.02 4892 99.88
## [0.8899,0.9636) 3 0.00 0.06 4895 99.94
## [0.9636,1.037) 2 0.00 0.04 4897 99.98
## [1.037,1.111) 1 0.00 0.02 4898 100.00
describe(volatile.acidity)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 0.28 0.1 0.26 0.27 0.09 0.08 1.1 1.02 1.58 5.08 0
hist(datos_frame$volatile.acidity, main = "Histograma de la Acidez Volátil en el Vino Blanco",
xlab=" ",
ylab = "Frecuencia ", col="beige")
boxplot(datos_frame$volatile.acidity, main= "Diagrama de caja - Acidez Volátil en el Vino Blanco ", horizontal = TRUE)
tb3<-fdt(citric.acid, breaks = "Sturges")
tb3
## 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
describe(citric.acid)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 0.33 0.12 0.32 0.33 0.09 0 1.66 1.66 1.28 6.16 0
hist(datos_frame$citric.acid, main = "Histograma del Ácido Citrico en el Vino Blanco",
xlab = '',
ylab='Frecuencia', col='aquamarine')
boxplot(datos_frame$citric.acid, main="Diagrama de caja - Acido Citrico en el Vino Blanco ", horizontal = TRUE)
tb4<- fdt(residual.sugar, breaks = "Sturges")
tb4 #tabla número 4 de datos agrupados
## Class limits f rf rf(%) cf cf(%)
## [0.594,5.2986) 2473 0.50 50.49 2473 50.49
## [5.2986,10.003) 1232 0.25 25.15 3705 75.64
## [10.003,14.708) 829 0.17 16.93 4534 92.57
## [14.708,19.412) 332 0.07 6.78 4866 99.35
## [19.412,24.117) 27 0.01 0.55 4893 99.90
## [24.117,28.821) 2 0.00 0.04 4895 99.94
## [28.821,33.526) 2 0.00 0.04 4897 99.98
## [33.526,38.231) 0 0.00 0.00 4897 99.98
## [38.231,42.935) 0 0.00 0.00 4897 99.98
## [42.935,47.64) 0 0.00 0.00 4897 99.98
## [47.64,52.344) 0 0.00 0.00 4897 99.98
## [52.344,57.049) 0 0.00 0.00 4897 99.98
## [57.049,61.753) 0 0.00 0.00 4897 99.98
## [61.753,66.458) 1 0.00 0.02 4898 100.00
describe(residual.sugar)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 6.39 5.07 5.2 5.8 5.34 0.6 65.8 65.2 1.08 3.46 0.07
hist(datos_frame$residual.sugar, main = "Histograma del Azúcar Residual en el Vino blanco",
xlab=" ",
ylab = 'Frencuencia', col="darkseagreen")
boxplot(datos_frame$residual.sugar, main= "Diagrama de caja - Azucar Residual en el Vino blanco", horizontal = TRUE)
tb5<- fdt(chlorides, breaks = "Sturges")
tb5 #Tabla numero cinco de frecuencias absolutas, relativas y acumuladas
## 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
describe(chlorides)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 0.05 0.02 0.04 0.04 0.01 0.01 0.35 0.34 5.02 37.51 0
hist(datos_frame$chlorides, main = "Histograma de los Cloruros en el Vino Blanco",
xlab="",
ylab="Frecuencia", col = "lightblue3")
boxplot(datos_frame$chlorides, main= "Diagrama de caja - Cloruros en el Vino Blanco", horizontal = TRUE)
tb6<-fdt(free.sulfur.dioxide, breaks = "Sturges")
tb6
## Class limits f rf rf(%) cf cf(%)
## [1.98,22.6879) 1131 0.23 23.09 1131 23.09
## [22.6879,43.3957) 2344 0.48 47.86 3475 70.95
## [43.3957,64.1036) 1209 0.25 24.68 4684 95.63
## [64.1036,84.8114) 178 0.04 3.63 4862 99.27
## [84.8114,105.519) 23 0.00 0.47 4885 99.73
## [105.519,126.227) 8 0.00 0.16 4893 99.90
## [126.227,146.935) 4 0.00 0.08 4897 99.98
## [146.935,167.643) 0 0.00 0.00 4897 99.98
## [167.643,188.351) 0 0.00 0.00 4897 99.98
## [188.351,209.059) 0 0.00 0.00 4897 99.98
## [209.059,229.766) 0 0.00 0.00 4897 99.98
## [229.766,250.474) 0 0.00 0.00 4897 99.98
## [250.474,271.182) 0 0.00 0.00 4897 99.98
## [271.182,291.89) 1 0.00 0.02 4898 100.00
describe(free.sulfur.dioxide)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 35.31 17.01 34 34.36 16.31 2 289 287 1.41 11.45 0.24
hist(datos_frame$free.sulfur.dioxide, main = "Histograma del Dioxido de Sulfuro Libre en el Vino Blanco",
xlab=" ",
ylab="Frecuencia", col = "indianred1")
boxplot(datos_frame$free.sulfur.dioxide, main= "Diagrama de caja - Dioxido de Sulfuro Libre en el Vino Blanco", horizontal = TRUE)
*SO2libre* + *SO2 Combinado*= **SO2Total**
tb7<- fdt(total.sulfur.dioxide, breaks = "Sturges")
tb7
## Class limits f rf rf(%) cf cf(%)
## [8.91,40.016) 29 0.01 0.59 29 0.59
## [40.016,71.123) 157 0.03 3.21 186 3.80
## [71.123,102.23) 821 0.17 16.76 1007 20.56
## [102.23,133.34) 1413 0.29 28.85 2420 49.41
## [133.34,164.44) 1168 0.24 23.85 3588 73.25
## [164.44,195.55) 829 0.17 16.93 4417 90.18
## [195.55,226.65) 362 0.07 7.39 4779 97.57
## [226.65,257.76) 107 0.02 2.18 4886 99.76
## [257.76,288.87) 5 0.00 0.10 4891 99.86
## [288.87,319.97) 4 0.00 0.08 4895 99.94
## [319.97,351.08) 1 0.00 0.02 4896 99.96
## [351.08,382.19) 1 0.00 0.02 4897 99.98
## [382.19,413.29) 0 0.00 0.00 4897 99.98
## [413.29,444.4) 1 0.00 0.02 4898 100.00
describe(total.sulfur.dioxide)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 138.36 42.5 134 136.96 43 9 440 431 0.39 0.57 0.61
hist(datos_frame$total.sulfur.dioxide, main="Histograma del Dióxido de Sulfuro Total en el Vino Blanco ",
xlab=" ",
ylab="Frecuencia", col = 'deeppink1')
boxplot(datos_frame$total.sulfur.dioxide, main= "Diagrama de caja - Dióxido de Sulfuro Total en el Vino Blanco", horizontal = TRUE)
cor(data$free.sulfur.dioxide,data$total.sulfur.dioxide)
## [1] 0.615501
tb8<- fdt(density, breaks = "Sturges")
tb8
## Class limits f rf rf(%) cf cf(%)
## [0.9772,0.9824) 0 0.00 0.00 0 0.00
## [0.9824,0.9875) 8 0.00 0.16 8 0.16
## [0.9875,0.9927) 1780 0.36 36.34 1788 36.50
## [0.9927,0.9978) 2494 0.51 50.92 4282 87.42
## [0.9978,1.003) 613 0.13 12.52 4895 99.94
## [1.003,1.008) 0 0.00 0.00 4895 99.94
## [1.008,1.013) 2 0.00 0.04 4897 99.98
## [1.013,1.018) 0 0.00 0.00 4897 99.98
## [1.018,1.024) 0 0.00 0.00 4897 99.98
## [1.024,1.029) 0 0.00 0.00 4897 99.98
## [1.029,1.034) 0 0.00 0.00 4897 99.98
## [1.034,1.039) 1 0.00 0.02 4898 100.00
## [1.039,1.044) 0 0.00 0.00 4898 100.00
## [1.044,1.049) 0 0.00 0.00 4898 100.00
describe(density)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 0.99 0 0.99 0.99 0 0.99 1.04 0.05 0.98 9.78 0
hist(datos_frame$density, main = "Histograma de la Densidad en el Vino Blanco",
xlab=" ",
ylab="Frecuencia", col ='lavender' )
boxplot(datos_frame$density, main= "Diagrama de caja - Densidad en el Vino Blanco", horizontal = TRUE)
nuevaData <- data.frame(data, cut(data$alcohol, breaks = c(2,12,13,14,15),
labels = c("Muy baja","Moderadamente Baja","Alta","MUy alto")))
nuevaData_1<-data.frame(nuevaData,cut(nuevaData$density, breaks=c(0,0.9880,0.9930,0.9974), labels=c("Indeseada","Densidad apropiada","Desproporcioando"))) #codigo de la columna/variable representada con caracteres el rango preciso de la densidad del Vino Blanco
head(nuevaData_1$cut.nuevaData.density..breaks...c.0..0.988..0.993..0.9974...labels...c..Indeseada...) #Al ser una columna con mas de 400 datos usaremos el comando head() para visualizar una proporcion de ellos.
## [1] <NA> Desproporcioando Desproporcioando Desproporcioando
## [5] Desproporcioando Desproporcioando
## Levels: Indeseada Densidad apropiada Desproporcioando
#descarga de la libreria a usar que es:
library(ggplot2)
##
## Attaching package: 'ggplot2'
## The following objects are masked from 'package:psych':
##
## %+%, alpha
#Para Poder realizar un diagrama de barras necesitaremos sacar las frecuencias absuolutas y frecuencias relativas
db<-table(nuevaData_1$cut.nuevaData.density..breaks...c.0..0.988..0.993..0.9974...labels...c..Indeseada...)
db<-prop.table(db)
barplot(db,xlab = 'Densidad', ylab = "Frecuencia Relativa",col = "lightpink", main = 'Diagrama de Barras')#Con el comando barplot() de la librería podremos realizar nuestro diagrama de barras.
pie(x=db, labels = c("Indeseado",'Densidad apropiada','Desproporcionado'),main = "Grafico de pastel- Densidad")
pH= -log[H+]
[HA] + H2O [A-] + [H+]
Se puede calcular este equilibrio con la constante (Ka), donde se define como un grado de disociación. Ka = [A-] x [H+] / [HA]
tb9<- fdt(pH, breaks = "Sturges")
tb9
## 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
describe(pH)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 3.19 0.15 3.18 3.18 0.15 2.72 3.82 1.1 0.46 0.53 0
hist(datos_frame$pH, main = "Histograma del Ph en el Vino blanco",
xlab=" ",
ylab='Frencuencia', col = 'lightslateblue')
boxplot(datos_frame$pH, main= "Diagrama de caja - Ph en el Vino blanco", horizontal = TRUE)
describe(sulphates)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 0.49 0.11 0.47 0.48 0.1 0.22 1.08 0.86 0.98 1.59 0
hist(datos_frame$sulphates, main = "Histograma de sulfatos en el Vino Blanco",
xlab = "",
ylab = "Frecuencia", col = "magenta4")
boxplot(datos_frame$sulphates, main= "Diagrama de caja - sulfatos en el Vino Blanco", horizontal = TRUE)
- Etanol (expresado en las etiquetas como reconocimiento debido a ser el compuesto con más presencia)
- Metanol
- Butanodiol
- Manitol (baja concentración)
- Sorbitol
tb11<-fdt(alcohol, breaks = "Sturges")
describe(alcohol)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 10.51 1.23 10.4 10.43 1.48 8 14.2 6.2 0.49 -0.7 0.02
hist(datos_frame$alcohol, main = "Histograma del Acohol presente en el Vino Blanco",
xlab = " ",
ylab="Frecuencia", col = 'mediumaquamarine')
boxplot(datos_frame$alcohol, main= "Diagrama de caja - Acohol presente en el Vino Blanco", horizontal = TRUE)
nuevaData<-data.frame(data,cut(data$density, breaks=c(0,0.9880,0.9930,0.9974), labels=c("Indeseada","Densidad apropiada","Desproporcioando")))# creación del nuevo dataframe agregandole nuestra nueva variable cualitativa para mejor entendimiento,
head(nuevaData_1$cut.data.alcohol..breaks...c.2..12..13..14..15...labels...c..Muy.baja...)#visualización del rando establecido de alcohol probable.
## [1] Muy baja Muy baja Muy baja Muy baja Muy baja Muy baja
## Levels: Muy baja Moderadamente Baja Alta MUy alto
library(ggplot2)#abrir nuestra libreria
nuevaData <- data.frame(data, cut(data$alcohol, breaks = c(2,12,13,14,15),
labels = c("Muy baja","Moderadamente Baja","Alta","MUy alto")))
Ap <- table(nuevaData$cut.data.alcohol..breaks...c.2..12..13..14..15...labels...c..Muy.baja...)
AP<- prop.table(Ap)
barplot(AP, xlab=" Alcohol Propable (AP)",ylab= "Frecuencia Relativa", col = "mistyrose")
Ap <- table(nuevaData$cut.data.alcohol..breaks...c.2..12..13..14..15...labels...c..Muy.baja...)
pie(x= Ap, labels = c("Mur baja","Moderadamente baja","Alta"), main = "Grafico de pastel- Alcohol Probable")
-Vino con turbidez.
- Olores desagradables debido a la reducción a los compuestos de azufre vólatil.
- Sabores.
-Moho
tb12<- fdt(quality, breaks = "Sturges")
tb12
## Class limits f rf rf(%) cf cf(%)
## [2.97,3.407) 20 0.00 0.41 20 0.41
## [3.407,3.844) 0 0.00 0.00 20 0.41
## [3.844,4.281) 163 0.03 3.33 183 3.74
## [4.281,4.719) 0 0.00 0.00 183 3.74
## [4.719,5.156) 1457 0.30 29.75 1640 33.48
## [5.156,5.593) 0 0.00 0.00 1640 33.48
## [5.593,6.03) 2198 0.45 44.88 3838 78.36
## [6.03,6.467) 0 0.00 0.00 3838 78.36
## [6.467,6.904) 0 0.00 0.00 3838 78.36
## [6.904,7.341) 880 0.18 17.97 4718 96.33
## [7.341,7.779) 0 0.00 0.00 4718 96.33
## [7.779,8.216) 175 0.04 3.57 4893 99.90
## [8.216,8.653) 0 0.00 0.00 4893 99.90
## [8.653,9.09) 5 0.00 0.10 4898 100.00
describe(quality)
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 4898 5.88 0.89 6 5.85 1.48 3 9 6 0.16 0.21 0.01
hist(datos_frame$quality, main ="Histograma de la calidad del Vino Blanco",
xlab="",
ylab="Frecuencia", col = "lightsalmon")
boxplot(datos_frame$quality, main= "Diagrama de caja - calidad del Vino Blanco", horizontal = TRUE)
ESTADISTICA DESCRIPTIVA BIVARIANTE O MULTIVARIANTE
plot(x=nuevaData$cut.data.alcohol..breaks...c.2..12..13..14..15...labels...c..Muy.baja...,y=data$alcohol, horizontal= F)
library(MASS) #Iniciamos instalando nuestra libreria con el paquete 'MASS'
attach(nuevaData_1) #Fijamos nuestro data Frame con las 2 variables que creamos con anterioridad
## The following objects are masked from datos_frame (pos = 5):
##
## alcohol, chlorides, citric.acid, density, fixed.acidity,
## free.sulfur.dioxide, pH, quality, residual.sugar, sulphates,
## total.sulfur.dioxide, volatile.acidity
## The following objects are masked from datos_frame (pos = 8):
##
## alcohol, chlorides, citric.acid, density, fixed.acidity,
## free.sulfur.dioxide, pH, quality, residual.sugar, sulphates,
## total.sulfur.dioxide, volatile.acidity
## The following objects are masked from data:
##
## alcohol, chlorides, citric.acid, density, fixed.acidity,
## free.sulfur.dioxide, pH, quality, residual.sugar, sulphates,
## total.sulfur.dioxide, volatile.acidity
cor(x= pH, y=fixed.acidity, method = "pearson") #podemos indicar los datos en el orden que queramos, la gráfica es simétrica
## [1] -0.4258583
#Podemos a su vez usar el método de Spearman
cor(pH, fixed.acidity, method ='spearman')
## [1] -0.4183412
cor(data) #Trabaja unicamente con variables con valores númericos, por ende usamos nuestro primer Data Frame.
## fixed.acidity volatile.acidity citric.acid residual.sugar
## fixed.acidity 1.00000000 -0.02269729 0.289180698 0.08902070
## volatile.acidity -0.02269729 1.00000000 -0.149471811 0.06428606
## citric.acid 0.28918070 -0.14947181 1.000000000 0.09421162
## residual.sugar 0.08902070 0.06428606 0.094211624 1.00000000
## chlorides 0.02308564 0.07051157 0.114364448 0.08868454
## free.sulfur.dioxide -0.04939586 -0.09701194 0.094077221 0.29909835
## total.sulfur.dioxide 0.09106976 0.08926050 0.121130798 0.40143931
## density 0.26533101 0.02711385 0.149502571 0.83896645
## pH -0.42585829 -0.03191537 -0.163748211 -0.19413345
## sulphates -0.01714299 -0.03572815 0.062330940 -0.02666437
## alcohol -0.12088112 0.06771794 -0.075728730 -0.45063122
## quality -0.11366283 -0.19472297 -0.009209091 -0.09757683
## chlorides free.sulfur.dioxide total.sulfur.dioxide
## fixed.acidity 0.02308564 -0.0493958591 0.091069756
## volatile.acidity 0.07051157 -0.0970119393 0.089260504
## citric.acid 0.11436445 0.0940772210 0.121130798
## residual.sugar 0.08868454 0.2990983537 0.401439311
## chlorides 1.00000000 0.1013923521 0.198910300
## free.sulfur.dioxide 0.10139235 1.0000000000 0.615500965
## total.sulfur.dioxide 0.19891030 0.6155009650 1.000000000
## density 0.25721132 0.2942104109 0.529881324
## pH -0.09043946 -0.0006177961 0.002320972
## sulphates 0.01676288 0.0592172458 0.134562367
## alcohol -0.36018871 -0.2501039415 -0.448892102
## quality -0.20993441 0.0081580671 -0.174737218
## density pH sulphates alcohol
## fixed.acidity 0.26533101 -0.4258582910 -0.01714299 -0.12088112
## volatile.acidity 0.02711385 -0.0319153683 -0.03572815 0.06771794
## citric.acid 0.14950257 -0.1637482114 0.06233094 -0.07572873
## residual.sugar 0.83896645 -0.1941334540 -0.02666437 -0.45063122
## chlorides 0.25721132 -0.0904394560 0.01676288 -0.36018871
## free.sulfur.dioxide 0.29421041 -0.0006177961 0.05921725 -0.25010394
## total.sulfur.dioxide 0.52988132 0.0023209718 0.13456237 -0.44889210
## density 1.00000000 -0.0935914935 0.07449315 -0.78013762
## pH -0.09359149 1.0000000000 0.15595150 0.12143210
## sulphates 0.07449315 0.1559514973 1.00000000 -0.01743277
## alcohol -0.78013762 0.1214320987 -0.01743277 1.00000000
## quality -0.30712331 0.0994272457 0.05367788 0.43557472
## quality
## fixed.acidity -0.113662831
## volatile.acidity -0.194722969
## citric.acid -0.009209091
## residual.sugar -0.097576829
## chlorides -0.209934411
## free.sulfur.dioxide 0.008158067
## total.sulfur.dioxide -0.174737218
## density -0.307123313
## pH 0.099427246
## sulphates 0.053677877
## alcohol 0.435574715
## quality 1.000000000
plot(pH~quality, main= "Diagrama de dispersion entre las variables\n Calidad y pH presente en el Vino",
xlab= "Calidad", ylab= "pH")
#crear una linea de regresión
abline(lm(pH~quality))
pairs(data) #hechas para todas las doce variables continuas del data frame