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:

BD$quality<-as.factor(BD$quality)
str(BD)

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]),main = texto2)
  barplot(table(BD[,i]), col= i, main= texto2, font.main=4)

}
}

Paso 5: Conclusiones

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])==FALSE)
{
  texto2<- paste("Analisis categoricas: ", colnames(BD)[i])
  pie(table(BD[,i]),main = texto2)
  barplot(table(BD[,i]), col= i, main= texto2, font.main=4)
  
  
}
else
{
 #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") 

}
}