Identificação
Nome: Rhyan César Santos Dias
Matrícula: 2025100439
Disciplina: Análise Multivariada — PPGQ/IQ/UFG
Professor: Prof. Keng


1 Parte 0 — Preparação do Ambiente

# Instale os pacotes caso necessário (remova o '#'):
# install.packages(c("tidyverse", "skimr", "corrplot", "ggplot2"))

library(ggplot2)
library(dplyr)
base_url <- paste0("https://archive.ics.uci.edu/ml/",
                   "machine-learning-databases/wine-quality/")

# Vinho tinto
wine_red   <- read.csv(paste0(base_url, "winequality-red.csv"),   sep = ";")

# Vinho branco
wine_white <- read.csv(paste0(base_url, "winequality-white.csv"), sep = ";")

# Verificacao rapida
dim(wine_red)
#> [1] 1599   12
dim(wine_white)
#> [1] 4898   12

2 Parte 1 — Estruturas de Dados em R

2.1 Questão 1.1 — Vetores e Tipos de Dados

a) Criando o vetor numérico ph_manual:

# Crie o vetor ph_manual com os valores indicados

ph_manual <- c(3.51,3.20,3.38,3.47,3.01)

# Verifique o tipo com class() e typeof()

class(ph_manual)
#> [1] "numeric"
typeof(ph_manual)
#> [1] "double"

O R não aceita os valores na forma em que estavam escritos na atividade, por isso o caracter de separação de decimal foi alterado para “.” e o de reparação entre os valores para “,”.

b) Criando o vetor de caracteres e convertendo para fator:

# Crie o vetor tipo_amostra

tipo_amostra <- c("Tinto","Tinto","Branco","Tinto","Branco") 

# Converta para fator e exiba os níveis

factor(tipo_amostra)
#> [1] Tinto  Tinto  Branco Tinto  Branco
#> Levels: Branco Tinto

Os níveis apareceram automaticamente.

c) Vetor lógico de pH ácido:

# Crie o vetor lógico ph_acido

ph_acido <- ph_manual < 3.40

# Quantas amostras tem pH < 3.40?

print(ph_acido)
#> [1] FALSE  TRUE  TRUE FALSE  TRUE
sum(ph_acido)
#> [1] 3

2.2 Questão 1.2 — Matrizes

a) Extraindo subconjunto de wine_red e convertendo para matriz:

# Extraia as 6 primeiras linhas e as colunas indicadas de wine_red

Dados_matriz <- wine_red[1:6,c(1,2,9)]


# Converta para matriz e armazene em mat_wine


mat_wine <- as.matrix(Dados_matriz)

Salvei primeiro as informações requeridas em um data.frame para em seguida transformar em matriz.

b) Dimensões da matriz:

# Use dim(), nrow() e ncol()

dim(mat_wine)
#> [1] 6 3
nrow(mat_wine)
#> [1] 6
ncol(mat_wine)
#> [1] 3

c) Médias por coluna e por linha:

# colMeans() e rowMeans()

colMeans(mat_wine)
#>    fixed.acidity volatile.acidity               pH 
#>        8.1666667        0.6633333        3.3583333
rowMeans(mat_wine)
#>        1        2        3        4        5        6 
#> 3.870000 3.960000 3.940000 4.880000 3.870000 3.856667
# Interpretação (escreva como comentário):
# colMeans representa...
# rowMeans representa...

colMeans representa a média de cada coluna, no caso, retorna os valores médios da acidez fixa, volátil e do pH.

Já o rowMeans representa a média de cada linha, sendo no caso a média dos parâmetros observados para cada amostra individualmente.


2.3 Questão 1.3 — Data Frames

a) Inspeção de wine_red:

# str(), head(), dim() aplicados a wine_red

str(wine_red)
#> '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 ...
head(wine_red)
#>   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
dim(wine_red)
#> [1] 1599   12

Ao todo existem 1599 observações, ou linhas, sendo referentes cada uma a uma amostra. Tem-se ao todo 12 colunas, apresentadas como variáveis, sendo 11 delas classificadas como variáveis numéricas, e uma (qualidade) como variável inteira.

Resposta: O banco contém 1599 amostras e 12 variáveis. (complete aqui)

b) Adicionando coluna qualidade_cat a wine_red:

# Crie a coluna qualidade_cat com ifelse() ou cut()

wine_red$quality_cat <- cut(wine_red$quality,
                            breaks = c(-Inf, 5, 6, Inf),
                            labels = c("baixa", "media", "alta"))

c) Filtrando vinhos de qualidade alta:

# Crie wine_red_alto com apenas vinhos de qualidade alta

wine_red_alto <- wine_red[wine_red$quality_cat == "alta",]


# Quantas amostras?

print(wine_red_alto)
#>      fixed.acidity volatile.acidity citric.acid residual.sugar chlorides
#> 8              7.3            0.650        0.00           1.20     0.065
#> 9              7.8            0.580        0.02           2.00     0.073
#> 17             8.5            0.280        0.56           1.80     0.092
#> 38             8.1            0.380        0.28           2.10     0.066
#> 63             7.5            0.520        0.16           1.90     0.085
#> 129            8.0            0.590        0.16           1.80     0.065
#> 199            5.4            0.835        0.08           1.20     0.046
#> 201            9.6            0.320        0.47           1.40     0.056
#> 206           12.8            0.300        0.74           2.60     0.095
#> 207           12.8            0.300        0.74           2.60     0.095
#> 210           11.0            0.300        0.58           2.10     0.054
#> 231            5.2            0.480        0.04           1.60     0.054
#> 244           15.0            0.210        0.44           2.20     0.075
#> 245           15.0            0.210        0.44           2.20     0.075
#> 260           10.0            0.310        0.47           2.60     0.085
#> 266           11.8            0.260        0.52           1.80     0.071
#> 268            7.9            0.350        0.46           3.60     0.078
#> 279           10.3            0.320        0.45           6.40     0.073
#> 280            8.9            0.400        0.32           5.60     0.087
#> 282            7.7            0.270        0.68           3.50     0.358
#> 284            8.9            0.400        0.32           5.60     0.087
#> 289            8.7            0.520        0.09           2.50     0.091
#> 291            8.7            0.520        0.09           2.50     0.091
#> 319            9.8            0.660        0.39           3.20     0.083
#> 321            9.8            0.660        0.39           3.20     0.083
#> 327           11.6            0.530        0.66           3.65     0.121
#> 335            7.9            0.650        0.01           2.50     0.078
#> 336           11.9            0.695        0.53           3.40     0.128
#> 340           12.5            0.280        0.54           2.30     0.082
#> 347            6.6            0.815        0.02           2.70     0.072
#> 358           10.5            0.420        0.66           2.95     0.116
#> 359           11.9            0.430        0.66           3.10     0.109
#> 365           12.8            0.615        0.66           5.80     0.083
#> 367           12.8            0.615        0.66           5.80     0.083
#> 370            9.4            0.270        0.53           2.40     0.074
#> 376           11.5            0.540        0.71           4.40     0.124
#> 378            9.4            0.270        0.53           2.40     0.074
#> 390            9.6            0.380        0.31           2.50     0.096
#> 391            5.6            0.850        0.05           1.40     0.045
#> 396           12.0            0.370        0.76           4.20     0.066
#> 408           12.0            0.390        0.66           3.00     0.093
#> 414            9.9            0.400        0.53           6.70     0.097
#> 421            9.5            0.560        0.33           2.40     0.089
#> 422            6.6            0.840        0.03           2.30     0.059
#> 424           10.5            0.240        0.47           2.10     0.066
#> 426            6.6            0.840        0.03           2.30     0.059
#> 431           10.5            0.240        0.47           2.10     0.066
#> 441           12.6            0.310        0.72           2.20     0.072
#> 443           15.6            0.685        0.76           3.70     0.100
#> 444           10.0            0.440        0.49           2.70     0.077
#> 445            5.3            0.570        0.01           1.70     0.054
#> 454           10.4            0.330        0.63           2.80     0.084
#> 456           11.3            0.620        0.67           5.20     0.086
#> 459           10.4            0.330        0.63           2.80     0.084
#> 482            9.4            0.300        0.56           2.80     0.080
#> 489           11.6            0.320        0.55           2.80     0.081
#> 492            9.2            0.410        0.50           2.50     0.055
#> 493            8.9            0.400        0.51           2.60     0.052
#> 496           10.7            0.350        0.53           2.60     0.070
#> 499           10.7            0.350        0.53           2.60     0.070
#> 502           10.4            0.440        0.73           6.55     0.074
#> 503           10.4            0.440        0.73           6.55     0.074
#> 504           10.5            0.260        0.47           1.90     0.078
#> 505           10.5            0.240        0.42           1.80     0.077
#> 506           10.2            0.490        0.63           2.90     0.072
#> 507           10.4            0.240        0.46           1.80     0.075
#> 510           13.3            0.290        0.75           2.80     0.084
#> 514           10.5            0.510        0.64           2.40     0.107
#> 515           10.5            0.510        0.64           2.40     0.107
#> 539           12.9            0.350        0.49           5.80     0.066
#> 584           12.0            0.280        0.49           1.90     0.074
#> 585           11.8            0.330        0.49           3.40     0.093
#> 587           11.1            0.310        0.49           2.70     0.094
#> 589            5.0            0.420        0.24           2.00     0.060
#> 590           10.2            0.290        0.49           2.60     0.059
#> 607            9.4            0.410        0.48           4.60     0.072
#> 639            7.7            0.915        0.12           2.20     0.143
#> 646            7.8            0.640        0.10           6.00     0.115
#> 649            8.7            0.480        0.30           2.80     0.066
#> 658           12.0            0.500        0.59           1.40     0.073
#> 798            9.3            0.370        0.44           1.60     0.038
#> 803            5.1            0.585        0.00           1.70     0.044
#> 806            8.2            0.280        0.40           2.40     0.052
#> 807            8.4            0.250        0.39           2.00     0.041
#> 808            8.2            0.280        0.40           2.40     0.052
#> 822            4.9            0.420        0.00           2.10     0.048
#> 827            7.5            0.270        0.34           2.30     0.050
#> 829            7.8            0.570        0.09           2.30     0.065
#> 837            6.7            0.280        0.28           2.40     0.012
#> 838            6.7            0.280        0.28           2.40     0.012
#> 839           10.1            0.310        0.35           1.60     0.075
#> 841           11.1            0.420        0.47           2.65     0.085
#> 856            7.6            0.735        0.02           2.50     0.071
#> 858            8.2            0.260        0.34           2.50     0.073
#> 859           11.7            0.280        0.47           1.70     0.054
#> 874            9.1            0.210        0.37           1.60     0.067
#> 875           10.4            0.380        0.46           2.10     0.104
#> 876            8.8            0.310        0.40           2.80     0.109
#> 888           10.7            0.520        0.38           2.60     0.066
#> 897            8.3            0.310        0.39           2.40     0.078
#> 899            8.3            0.310        0.39           2.40     0.078
#> 902            7.4            0.635        0.10           2.40     0.080
#> 903            7.4            0.635        0.10           2.40     0.080
#> 904            6.8            0.590        0.06           6.00     0.060
#> 905            6.8            0.590        0.06           6.00     0.060
#> 914            9.4            0.395        0.46           4.60     0.094
#> 926            8.6            0.220        0.36           1.90     0.064
#> 930            8.7            0.330        0.38           3.30     0.063
#> 939            7.2            0.380        0.38           2.80     0.068
#> 941            9.6            0.330        0.52           2.20     0.074
#> 942            9.9            0.270        0.49           5.00     0.082
#> 943           10.1            0.430        0.40           2.60     0.092
#> 944            9.8            0.500        0.34           2.30     0.094
#> 945            8.3            0.300        0.49           3.80     0.090
#> 946           10.2            0.440        0.42           2.00     0.071
#> 947           10.2            0.440        0.58           4.10     0.092
#> 948            8.3            0.280        0.48           2.10     0.093
#> 949            8.9            0.120        0.45           1.80     0.075
#> 950            8.9            0.120        0.45           1.80     0.075
#> 951            8.9            0.120        0.45           1.80     0.075
#> 952            8.3            0.280        0.48           2.10     0.093
#> 953            8.2            0.310        0.40           2.20     0.058
#> 954           10.2            0.340        0.48           2.10     0.052
#> 959            6.4            0.570        0.12           2.30     0.120
#> 967            9.0            0.380        0.41           2.40     0.103
#> 973           10.1            0.380        0.50           2.40     0.104
#> 975            8.8            0.330        0.41           5.90     0.073
#> 979            7.0            0.400        0.32           3.60     0.061
#> 987            9.8            0.340        0.39           1.40     0.066
#> 997            5.6            0.660        0.00           2.20     0.087
#> 998            5.6            0.660        0.00           2.20     0.087
#> 1001           7.5            0.430        0.30           2.20     0.062
#> 1002           9.9            0.350        0.38           1.50     0.058
#> 1003           9.1            0.290        0.33           2.05     0.063
#> 1004           6.8            0.360        0.32           1.80     0.067
#> 1006           6.8            0.360        0.32           1.80     0.067
#> 1007           9.1            0.290        0.33           2.05     0.063
#> 1008           9.1            0.300        0.34           2.00     0.064
#> 1009           8.9            0.350        0.40           3.60     0.110
#> 1011           8.9            0.280        0.45           1.70     0.067
#> 1017           8.9            0.380        0.40           2.20     0.068
#> 1025           7.7            0.580        0.01           1.80     0.088
#> 1030           7.7            0.580        0.01           1.80     0.088
#> 1031           7.1            0.590        0.00           2.10     0.091
#> 1032           7.3            0.550        0.01           1.80     0.093
#> 1036          10.1            0.370        0.34           2.40     0.085
#> 1037           7.6            0.310        0.34           2.50     0.082
#> 1039           8.7            0.410        0.41           6.20     0.078
#> 1044           9.5            0.390        0.41           8.90     0.069
#> 1054           8.3            0.330        0.42           2.30     0.070
#> 1057           8.9            0.480        0.53           4.00     0.101
#> 1059           9.9            0.530        0.57           2.40     0.093
#> 1060           8.9            0.480        0.53           4.00     0.101
#> 1062           9.1            0.400        0.50           1.80     0.071
#> 1067           6.6            0.520        0.08           2.40     0.070
#> 1068          11.1            0.310        0.53           2.20     0.060
#> 1069          11.1            0.310        0.53           2.20     0.060
#> 1071           9.3            0.330        0.45           1.50     0.057
#> 1076           9.1            0.250        0.34           2.00     0.071
#> 1080           7.9            0.300        0.68           8.30     0.050
#> 1082           7.9            0.300        0.68           8.30     0.050
#> 1087           8.5            0.340        0.40           4.70     0.055
#> 1089          11.6            0.410        0.54           1.50     0.095
#> 1090          11.6            0.410        0.54           1.50     0.095
#> 1091          10.0            0.260        0.54           1.90     0.083
#> 1094           9.2            0.310        0.36           2.20     0.079
#> 1099           8.0            0.310        0.45           2.10     0.216
#> 1108           9.1            0.300        0.41           2.00     0.068
#> 1112           5.4            0.420        0.27           2.00     0.092
#> 1121           7.9            0.540        0.34           2.50     0.076
#> 1126           8.8            0.240        0.35           1.70     0.055
#> 1133           7.4            0.360        0.34           1.80     0.075
#> 1134           7.2            0.480        0.07           5.50     0.089
#> 1135           8.5            0.280        0.35           1.70     0.061
#> 1148          10.0            0.410        0.45           6.20     0.071
#> 1151           8.2            0.330        0.32           2.80     0.067
#> 1157           8.5            0.180        0.51           1.75     0.071
#> 1158           5.1            0.510        0.18           2.10     0.042
#> 1161          10.6            0.360        0.57           2.30     0.087
#> 1163           8.5            0.320        0.42           2.30     0.075
#> 1168           8.2            0.330        0.39           2.50     0.074
#> 1178           7.1            0.660        0.00           2.40     0.052
#> 1193           7.2            0.250        0.37           2.50     0.063
#> 1202           7.9            0.340        0.36           1.90     0.065
#> 1203           8.6            0.420        0.39           1.80     0.068
#> 1205           7.2            0.360        0.46           2.10     0.074
#> 1206           7.2            0.360        0.46           2.10     0.074
#> 1207           7.2            0.360        0.46           2.10     0.074
#> 1209           7.2            0.360        0.46           2.10     0.074
#> 1210           6.2            0.390        0.43           2.00     0.071
#> 1229           5.1            0.420        0.00           1.80     0.044
#> 1270           5.5            0.490        0.03           1.80     0.044
#> 1280           9.8            0.300        0.39           1.70     0.062
#> 1324           9.1            0.360        0.39           1.80     0.060
#> 1399           7.0            0.600        0.12           2.20     0.083
#> 1404           7.2            0.330        0.33           1.70     0.061
#> 1406           7.7            0.280        0.30           2.00     0.062
#> 1409           8.1            0.290        0.36           2.20     0.048
#> 1418           7.3            0.340        0.33           2.50     0.064
#> 1434           6.1            0.400        0.16           1.80     0.069
#> 1441           7.2            0.370        0.32           2.00     0.062
#> 1450           7.2            0.380        0.31           2.00     0.056
#> 1451           7.2            0.370        0.32           2.00     0.062
#> 1452           7.8            0.320        0.44           2.70     0.104
#> 1453           6.6            0.580        0.02           2.00     0.062
#> 1460           7.9            0.200        0.35           1.70     0.054
#> 1467           7.3            0.480        0.32           2.10     0.062
#> 1469           7.3            0.480        0.32           2.10     0.062
#> 1476           5.3            0.470        0.11           2.20     0.048
#> 1478           5.3            0.470        0.11           2.20     0.048
#> 1495           6.4            0.310        0.09           1.40     0.066
#> 1535           6.6            0.560        0.14           2.40     0.064
#> 1542           7.4            0.250        0.29           2.20     0.054
#> 1545           8.4            0.370        0.43           2.30     0.063
#> 1550           7.4            0.360        0.30           1.80     0.074
#> 1556           7.0            0.560        0.17           1.70     0.065
#> 1585           6.7            0.320        0.44           2.40     0.061
#>      free.sulfur.dioxide total.sulfur.dioxide density   pH sulphates  alcohol
#> 8                   15.0                   21 0.99460 3.39      0.47 10.00000
#> 9                    9.0                   18 0.99680 3.36      0.57  9.50000
#> 17                  35.0                  103 0.99690 3.30      0.75 10.50000
#> 38                  13.0                   30 0.99680 3.23      0.73  9.70000
#> 63                  12.0                   35 0.99680 3.38      0.62  9.50000
#> 129                  3.0                   16 0.99620 3.42      0.92 10.50000
#> 199                 13.0                   93 0.99240 3.57      0.85 13.00000
#> 201                  9.0                   24 0.99695 3.22      0.82 10.30000
#> 206                  9.0                   28 0.99940 3.20      0.77 10.80000
#> 207                  9.0                   28 0.99940 3.20      0.77 10.80000
#> 210                  7.0                   19 0.99800 3.31      0.88 10.50000
#> 231                 19.0                  106 0.99270 3.54      0.62 12.20000
#> 244                 10.0                   24 1.00005 3.07      0.84  9.20000
#> 245                 10.0                   24 1.00005 3.07      0.84  9.20000
#> 260                 14.0                   33 0.99965 3.36      0.80 10.50000
#> 266                  6.0                   10 0.99680 3.20      0.72 10.20000
#> 268                 15.0                   37 0.99730 3.35      0.86 12.80000
#> 279                  5.0                   13 0.99760 3.23      0.82 12.60000
#> 280                 10.0                   47 0.99910 3.38      0.77 10.50000
#> 282                  5.0                   10 0.99720 3.25      1.08  9.90000
#> 284                 10.0                   47 0.99910 3.38      0.77 10.50000
#> 289                 20.0                   49 0.99760 3.34      0.86 10.60000
#> 291                 20.0                   49 0.99760 3.34      0.86 10.60000
#> 319                 21.0                   59 0.99890 3.37      0.71 11.50000
#> 321                 21.0                   59 0.99890 3.37      0.71 11.50000
#> 327                  6.0                   14 0.99780 3.05      0.74 11.50000
#> 335                 17.0                   38 0.99630 3.34      0.74 11.70000
#> 336                  7.0                   21 0.99920 3.17      0.84 12.20000
#> 340                 12.0                   29 0.99970 3.11      1.36  9.80000
#> 347                 17.0                   34 0.99550 3.58      0.89 12.30000
#> 358                 12.0                   29 0.99700 3.24      0.75 11.70000
#> 359                 10.0                   23 1.00000 3.15      0.85 10.40000
#> 365                  7.0                   42 1.00220 3.07      0.73 10.00000
#> 367                  7.0                   42 1.00220 3.07      0.73 10.00000
#> 370                  6.0                   18 0.99620 3.20      1.13 12.00000
#> 376                  6.0                   15 0.99840 3.01      0.83 11.80000
#> 378                  6.0                   18 0.99620 3.20      1.13 12.00000
#> 390                 16.0                   49 0.99820 3.19      0.70 10.00000
#> 391                 12.0                   88 0.99240 3.56      0.82 12.90000
#> 396                  7.0                   38 1.00040 3.22      0.60 13.00000
#> 408                 12.0                   30 0.99960 3.18      0.63 10.80000
#> 414                  6.0                   19 0.99860 3.27      0.82 11.70000
#> 421                 35.0                   67 0.99720 3.28      0.73 11.80000
#> 422                 32.0                   48 0.99520 3.52      0.56 12.30000
#> 424                  6.0                   24 0.99780 3.15      0.90 11.00000
#> 426                 32.0                   48 0.99520 3.52      0.56 12.30000
#> 431                  6.0                   24 0.99780 3.15      0.90 11.00000
#> 441                  6.0                   29 0.99870 2.88      0.82  9.80000
#> 443                  6.0                   43 1.00320 2.95      0.68 11.20000
#> 444                 11.0                   19 0.99630 3.23      0.63 11.60000
#> 445                  5.0                   27 0.99340 3.57      0.84 12.50000
#> 454                  5.0                   22 0.99980 3.26      0.74 11.20000
#> 456                  6.0                   19 0.99880 3.22      0.69 13.40000
#> 459                  5.0                   22 0.99980 3.26      0.74 11.20000
#> 482                  6.0                   17 0.99640 3.15      0.92 11.70000
#> 489                 35.0                   67 1.00020 3.32      0.92 10.80000
#> 492                 12.0                   25 0.99520 3.34      0.79 13.30000
#> 493                 13.0                   27 0.99500 3.32      0.90 13.40000
#> 496                  5.0                   16 0.99720 3.15      0.65 11.00000
#> 499                  5.0                   16 0.99720 3.15      0.65 11.00000
#> 502                 38.0                   76 0.99900 3.17      0.85 12.00000
#> 503                 38.0                   76 0.99900 3.17      0.85 12.00000
#> 504                  6.0                   24 0.99760 3.18      1.04 10.90000
#> 505                  6.0                   22 0.99760 3.21      1.05 10.80000
#> 506                 10.0                   26 0.99680 3.16      0.78 12.50000
#> 507                  6.0                   21 0.99760 3.25      1.02 10.80000
#> 510                 23.0                   43 0.99860 3.04      0.68 11.40000
#> 514                  6.0                   15 0.99730 3.09      0.66 11.80000
#> 515                  6.0                   15 0.99730 3.09      0.66 11.80000
#> 539                  5.0                   35 1.00140 3.20      0.66 12.00000
#> 584                 10.0                   21 0.99760 2.98      0.66  9.90000
#> 585                 54.0                   80 1.00020 3.30      0.76 10.70000
#> 587                 16.0                   47 0.99860 3.12      1.02 10.60000
#> 589                 19.0                   50 0.99170 3.72      0.74 14.00000
#> 590                  5.0                   13 0.99760 3.05      0.74 10.50000
#> 607                 10.0                   20 0.99730 3.34      0.79 12.20000
#> 639                  7.0                   23 0.99640 3.35      0.65 10.20000
#> 646                  5.0                   11 0.99840 3.37      0.69 10.10000
#> 649                 10.0                   28 0.99640 3.33      0.67 11.20000
#> 658                 23.0                   42 0.99800 2.92      0.68 10.50000
#> 798                 21.0                   42 0.99526 3.24      0.81 10.80000
#> 803                 14.0                   86 0.99264 3.56      0.94 12.90000
#> 806                  4.0                   10 0.99356 3.33      0.70 12.80000
#> 807                  4.0                   10 0.99386 3.27      0.71 12.50000
#> 808                  4.0                   10 0.99356 3.33      0.70 12.80000
#> 822                 16.0                   42 0.99154 3.71      0.74 14.00000
#> 827                  4.0                    8 0.99510 3.40      0.64 11.00000
#> 829                 34.0                   45 0.99417 3.46      0.74 12.70000
#> 837                 36.0                  100 0.99064 3.26      0.39 11.70000
#> 838                 36.0                  100 0.99064 3.26      0.39 11.70000
#> 839                  9.0                   28 0.99672 3.24      0.83 11.20000
#> 841                  9.0                   34 0.99736 3.24      0.77 12.10000
#> 856                 10.0                   14 0.99538 3.51      0.71 11.70000
#> 858                 16.0                   47 0.99594 3.40      0.78 11.30000
#> 859                 17.0                   32 0.99686 3.15      0.67 10.60000
#> 874                  6.0                   10 0.99552 3.23      0.58 11.10000
#> 875                  6.0                   10 0.99664 3.12      0.65 11.80000
#> 876                  7.0                   16 0.99614 3.31      0.79 11.80000
#> 888                 29.0                   56 0.99577 3.15      0.79 12.10000
#> 897                 17.0                   43 0.99444 3.31      0.77 12.50000
#> 899                 17.0                   43 0.99444 3.31      0.77 12.50000
#> 902                 16.0                   33 0.99736 3.58      0.69 10.80000
#> 903                 16.0                   33 0.99736 3.58      0.69 10.80000
#> 904                 11.0                   18 0.99620 3.41      0.59 10.80000
#> 905                 11.0                   18 0.99620 3.41      0.59 10.80000
#> 914                  3.0                   10 0.99639 3.27      0.64 12.20000
#> 926                 53.0                   77 0.99604 3.47      0.87 11.00000
#> 930                 10.0                   19 0.99468 3.30      0.73 12.00000
#> 939                 23.0                   42 0.99356 3.34      0.72 12.90000
#> 941                 13.0                   25 0.99509 3.36      0.76 12.40000
#> 942                  9.0                   17 0.99484 3.19      0.52 12.50000
#> 943                 13.0                   52 0.99834 3.22      0.64 10.00000
#> 944                 10.0                   45 0.99864 3.24      0.60  9.70000
#> 945                 11.0                   24 0.99498 3.27      0.64 12.10000
#> 946                  7.0                   20 0.99566 3.14      0.79 11.10000
#> 947                 11.0                   24 0.99745 3.29      0.99 12.00000
#> 948                  6.0                   12 0.99408 3.26      0.62 12.40000
#> 949                 10.0                   21 0.99552 3.41      0.76 11.90000
#> 950                 10.0                   21 0.99552 3.41      0.76 11.90000
#> 951                 10.0                   21 0.99552 3.41      0.76 11.90000
#> 952                  6.0                   12 0.99408 3.26      0.62 12.40000
#> 953                  6.0                   10 0.99536 3.31      0.68 11.20000
#> 954                  5.0                    9 0.99458 3.20      0.69 12.10000
#> 959                 25.0                   36 0.99519 3.47      0.71 11.30000
#> 967                  6.0                   10 0.99604 3.13      0.58 11.90000
#> 973                  6.0                   13 0.99643 3.22      0.65 11.60000
#> 975                  7.0                   13 0.99658 3.30      0.62 12.10000
#> 979                  9.0                   29 0.99416 3.28      0.49 11.30000
#> 987                  3.0                    7 0.99470 3.19      0.55 11.40000
#> 997                  3.0                   11 0.99378 3.71      0.63 12.80000
#> 998                  3.0                   11 0.99378 3.71      0.63 12.80000
#> 1001                 6.0                   12 0.99495 3.44      0.72 11.50000
#> 1002                31.0                   47 0.99676 3.26      0.82 10.60000
#> 1003                13.0                   27 0.99516 3.26      0.84 11.70000
#> 1004                 4.0                    8 0.99280 3.36      0.55 12.80000
#> 1006                 4.0                    8 0.99280 3.36      0.55 12.80000
#> 1007                13.0                   27 0.99516 3.26      0.84 11.70000
#> 1008                12.0                   25 0.99516 3.26      0.84 11.70000
#> 1009                12.0                   24 0.99549 3.23      0.70 12.00000
#> 1011                 7.0                   12 0.99354 3.25      0.55 12.30000
#> 1017                12.0                   28 0.99486 3.27      0.75 12.60000
#> 1025                12.0                   18 0.99568 3.32      0.56 10.50000
#> 1030                12.0                   18 0.99568 3.32      0.56 10.50000
#> 1031                 9.0                   14 0.99488 3.42      0.55 11.50000
#> 1032                 9.0                   15 0.99514 3.35      0.58 11.00000
#> 1036                 5.0                   17 0.99683 3.17      0.65 10.60000
#> 1037                26.0                   35 0.99356 3.22      0.59 12.50000
#> 1039                25.0                   42 0.99530 3.24      0.77 12.60000
#> 1044                18.0                   39 0.99859 3.29      0.81 10.90000
#> 1054                 9.0                   20 0.99426 3.38      0.77 12.70000
#> 1057                 3.0                   10 0.99586 3.21      0.59 12.10000
#> 1059                30.0                   52 0.99710 3.19      0.76 11.60000
#> 1060                 3.0                   10 0.99586 3.21      0.59 12.10000
#> 1062                 7.0                   16 0.99462 3.21      0.69 12.50000
#> 1067                13.0                   26 0.99358 3.40      0.72 12.50000
#> 1068                 3.0                   10 0.99572 3.02      0.83 10.90000
#> 1069                 3.0                   10 0.99572 3.02      0.83 10.90000
#> 1071                19.0                   37 0.99498 3.18      0.89 11.10000
#> 1076                45.0                   67 0.99769 3.44      0.86 10.20000
#> 1080                37.5                  278 0.99316 3.01      0.51 12.30000
#> 1082                37.5                  289 0.99316 3.01      0.51 12.30000
#> 1087                 3.0                    9 0.99738 3.38      0.66 11.60000
#> 1089                22.0                   41 0.99735 3.02      0.76  9.90000
#> 1090                22.0                   41 0.99735 3.02      0.76  9.90000
#> 1091                42.0                   74 0.99451 2.98      0.63 11.80000
#> 1094                11.0                   31 0.99615 3.33      0.86 12.00000
#> 1099                 5.0                   16 0.99358 3.15      0.81 12.50000
#> 1108                10.0                   24 0.99523 3.27      0.85 11.70000
#> 1112                23.0                   55 0.99471 3.78      0.64 12.30000
#> 1121                 8.0                   17 0.99235 3.20      0.72 13.10000
#> 1126                13.0                   27 0.99394 3.14      0.59 11.30000
#> 1133                18.0                   38 0.99330 3.38      0.88 13.60000
#> 1134                10.0                   18 0.99684 3.37      0.68 11.20000
#> 1135                 6.0                   15 0.99524 3.30      0.74 11.80000
#> 1148                 6.0                   14 0.99702 3.21      0.49 11.80000
#> 1151                 4.0                   12 0.99473 3.30      0.76 12.80000
#> 1157                45.0                   88 0.99524 3.33      0.76 11.80000
#> 1158                16.0                  101 0.99240 3.46      0.87 12.90000
#> 1161                 6.0                   20 0.99676 3.14      0.72 11.10000
#> 1163                12.0                   19 0.99434 3.14      0.71 11.80000
#> 1168                29.0                   48 0.99528 3.32      0.88 12.40000
#> 1178                 6.0                   11 0.99318 3.35      0.66 12.70000
#> 1193                11.0                   41 0.99439 3.52      0.80 12.40000
#> 1202                 5.0                   10 0.99419 3.27      0.54 11.20000
#> 1203                 6.0                   12 0.99516 3.35      0.69 11.70000
#> 1205                24.0                   44 0.99534 3.40      0.85 11.00000
#> 1206                24.0                   44 0.99534 3.40      0.85 11.00000
#> 1207                24.0                   44 0.99534 3.40      0.85 11.00000
#> 1209                24.0                   44 0.99534 3.40      0.85 11.00000
#> 1210                14.0                   24 0.99428 3.45      0.87 11.20000
#> 1229                18.0                   88 0.99157 3.68      0.73 13.60000
#> 1270                28.0                   87 0.99080 3.50      0.82 14.00000
#> 1280                 3.0                    9 0.99480 3.14      0.57 11.50000
#> 1324                21.0                   55 0.99495 3.18      0.82 11.00000
#> 1399                13.0                   28 0.99660 3.52      0.62 10.20000
#> 1404                 3.0                   13 0.99600 3.23      1.10 10.00000
#> 1406                18.0                   34 0.99520 3.28      0.90 11.30000
#> 1409                35.0                   53 0.99500 3.27      1.01 12.40000
#> 1418                21.0                   37 0.99520 3.35      0.77 12.10000
#> 1434                11.0                   25 0.99550 3.42      0.74 10.10000
#> 1441                15.0                   28 0.99470 3.23      0.73 11.30000
#> 1450                15.0                   29 0.99472 3.23      0.76 11.30000
#> 1451                15.0                   28 0.99470 3.23      0.73 11.30000
#> 1452                 8.0                   17 0.99732 3.33      0.78 11.00000
#> 1453                37.0                   53 0.99374 3.35      0.76 11.60000
#> 1460                 7.0                   15 0.99458 3.32      0.80 11.90000
#> 1467                31.0                   54 0.99728 3.30      0.65 10.00000
#> 1469                31.0                   54 0.99728 3.30      0.65 10.00000
#> 1476                16.0                   89 0.99182 3.54      0.88 13.56667
#> 1478                16.0                   89 0.99182 3.54      0.88 13.60000
#> 1495                15.0                   28 0.99459 3.42      0.70 10.00000
#> 1535                13.0                   29 0.99397 3.42      0.62 11.70000
#> 1542                19.0                   49 0.99666 3.40      0.76 10.90000
#> 1545                12.0                   19 0.99550 3.17      0.81 11.20000
#> 1550                17.0                   24 0.99419 3.24      0.70 11.40000
#> 1556                15.0                   24 0.99514 3.44      0.68 10.55000
#> 1585                24.0                   34 0.99484 3.29      0.80 11.60000
#>      quality quality_cat
#> 8          7        alta
#> 9          7        alta
#> 17         7        alta
#> 38         7        alta
#> 63         7        alta
#> 129        7        alta
#> 199        7        alta
#> 201        7        alta
#> 206        7        alta
#> 207        7        alta
#> 210        7        alta
#> 231        7        alta
#> 244        7        alta
#> 245        7        alta
#> 260        7        alta
#> 266        7        alta
#> 268        8        alta
#> 279        8        alta
#> 280        7        alta
#> 282        7        alta
#> 284        7        alta
#> 289        7        alta
#> 291        7        alta
#> 319        7        alta
#> 321        7        alta
#> 327        7        alta
#> 335        7        alta
#> 336        7        alta
#> 340        7        alta
#> 347        7        alta
#> 358        7        alta
#> 359        7        alta
#> 365        7        alta
#> 367        7        alta
#> 370        7        alta
#> 376        7        alta
#> 378        7        alta
#> 390        7        alta
#> 391        8        alta
#> 396        7        alta
#> 408        7        alta
#> 414        7        alta
#> 421        7        alta
#> 422        7        alta
#> 424        7        alta
#> 426        7        alta
#> 431        7        alta
#> 441        8        alta
#> 443        7        alta
#> 444        7        alta
#> 445        7        alta
#> 454        7        alta
#> 456        8        alta
#> 459        7        alta
#> 482        8        alta
#> 489        7        alta
#> 492        7        alta
#> 493        7        alta
#> 496        8        alta
#> 499        8        alta
#> 502        7        alta
#> 503        7        alta
#> 504        7        alta
#> 505        7        alta
#> 506        7        alta
#> 507        7        alta
#> 510        7        alta
#> 514        7        alta
#> 515        7        alta
#> 539        7        alta
#> 584        7        alta
#> 585        7        alta
#> 587        7        alta
#> 589        8        alta
#> 590        7        alta
#> 607        7        alta
#> 639        7        alta
#> 646        7        alta
#> 649        7        alta
#> 658        7        alta
#> 798        7        alta
#> 803        7        alta
#> 806        7        alta
#> 807        7        alta
#> 808        7        alta
#> 822        7        alta
#> 827        7        alta
#> 829        8        alta
#> 837        7        alta
#> 838        7        alta
#> 839        7        alta
#> 841        7        alta
#> 856        7        alta
#> 858        7        alta
#> 859        7        alta
#> 874        7        alta
#> 875        7        alta
#> 876        7        alta
#> 888        7        alta
#> 897        7        alta
#> 899        7        alta
#> 902        7        alta
#> 903        7        alta
#> 904        7        alta
#> 905        7        alta
#> 914        7        alta
#> 926        7        alta
#> 930        7        alta
#> 939        7        alta
#> 941        7        alta
#> 942        7        alta
#> 943        7        alta
#> 944        7        alta
#> 945        7        alta
#> 946        7        alta
#> 947        7        alta
#> 948        7        alta
#> 949        7        alta
#> 950        7        alta
#> 951        7        alta
#> 952        7        alta
#> 953        7        alta
#> 954        7        alta
#> 959        7        alta
#> 967        7        alta
#> 973        7        alta
#> 975        7        alta
#> 979        7        alta
#> 987        7        alta
#> 997        7        alta
#> 998        7        alta
#> 1001       7        alta
#> 1002       7        alta
#> 1003       7        alta
#> 1004       7        alta
#> 1006       7        alta
#> 1007       7        alta
#> 1008       7        alta
#> 1009       7        alta
#> 1011       7        alta
#> 1017       7        alta
#> 1025       7        alta
#> 1030       7        alta
#> 1031       7        alta
#> 1032       7        alta
#> 1036       7        alta
#> 1037       7        alta
#> 1039       7        alta
#> 1044       7        alta
#> 1054       7        alta
#> 1057       7        alta
#> 1059       7        alta
#> 1060       7        alta
#> 1062       8        alta
#> 1067       7        alta
#> 1068       7        alta
#> 1069       7        alta
#> 1071       7        alta
#> 1076       7        alta
#> 1080       7        alta
#> 1082       7        alta
#> 1087       7        alta
#> 1089       7        alta
#> 1090       7        alta
#> 1091       8        alta
#> 1094       7        alta
#> 1099       7        alta
#> 1108       7        alta
#> 1112       7        alta
#> 1121       8        alta
#> 1126       7        alta
#> 1133       7        alta
#> 1134       7        alta
#> 1135       7        alta
#> 1148       7        alta
#> 1151       7        alta
#> 1157       7        alta
#> 1158       7        alta
#> 1161       7        alta
#> 1163       7        alta
#> 1168       7        alta
#> 1178       7        alta
#> 1193       7        alta
#> 1202       7        alta
#> 1203       8        alta
#> 1205       7        alta
#> 1206       7        alta
#> 1207       7        alta
#> 1209       7        alta
#> 1210       7        alta
#> 1229       7        alta
#> 1270       8        alta
#> 1280       7        alta
#> 1324       7        alta
#> 1399       7        alta
#> 1404       8        alta
#> 1406       7        alta
#> 1409       7        alta
#> 1418       7        alta
#> 1434       7        alta
#> 1441       7        alta
#> 1450       8        alta
#> 1451       7        alta
#> 1452       7        alta
#> 1453       7        alta
#> 1460       7        alta
#> 1467       7        alta
#> 1469       7        alta
#> 1476       7        alta
#> 1478       7        alta
#> 1495       7        alta
#> 1535       7        alta
#> 1542       7        alta
#> 1545       7        alta
#> 1550       8        alta
#> 1556       7        alta
#> 1585       7        alta

No total, 217 amostras foram filtradas por serem classificadas como alta qualidade.

d) Ordenando por teor alcoólico:

# Ordene wine_red pelo teor de alcool (decrescente) e exiba as 5 primeiras linhas

wine_red %>% dplyr::arrange(desc(alcohol)) %>% head(5)
#>   fixed.acidity volatile.acidity citric.acid residual.sugar chlorides
#> 1          15.9             0.36        0.65            7.5     0.096
#> 2           5.2             0.34        0.00            1.8     0.050
#> 3           5.2             0.34        0.00            1.8     0.050
#> 4           8.8             0.46        0.45            2.6     0.065
#> 5           5.0             0.42        0.24            2.0     0.060
#>   free.sulfur.dioxide total.sulfur.dioxide density   pH sulphates alcohol
#> 1                  22                   71  0.9976 2.98      0.84    14.9
#> 2                  27                   63  0.9916 3.68      0.79    14.0
#> 3                  27                   63  0.9916 3.68      0.79    14.0
#> 4                   7                   18  0.9947 3.32      0.79    14.0
#> 5                  19                   50  0.9917 3.72      0.74    14.0
#>   quality quality_cat
#> 1       5       baixa
#> 2       6       media
#> 3       6       media
#> 4       6       media
#> 5       8        alta

Nesse caso usar o pipe facilita a leitura do R para executar as ações solicitadas.

As primeiras tentativas usando o código diretamente geram erro.


2.4 Questão 1.4 — Listas

a) Criando e acessando a lista resumo_red:

# Crie a lista resumo_red com três elementos:
# (i) nomes das colunas, (ii) dimensões, (iii) médias das variáveis numéricas

resumo_red <- list(nome_colunas = colnames(wine_red),
                   dimensoes = dim(wine_red),
                   medias_numericas = colMeans(wine_red[sapply(wine_red, is.numeric)], na.rm = TRUE)
                   )
# Acesse cada elemento pelo nome ($) e pelo índice ([[]])

resumo_red$nome_colunas
#>  [1] "fixed.acidity"        "volatile.acidity"     "citric.acid"         
#>  [4] "residual.sugar"       "chlorides"            "free.sulfur.dioxide" 
#>  [7] "total.sulfur.dioxide" "density"              "pH"                  
#> [10] "sulphates"            "alcohol"              "quality"             
#> [13] "quality_cat"
resumo_red$dimensoes
#> [1] 1599   13
resumo_red$medias_numericas
#>        fixed.acidity     volatile.acidity          citric.acid 
#>           8.31963727           0.52782051           0.27097561 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>           2.53880550           0.08746654          15.87492183 
#> total.sulfur.dioxide              density                   pH 
#>          46.46779237           0.99674668           3.31111320 
#>            sulphates              alcohol              quality 
#>           0.65814884          10.42298311           5.63602251
resumo_red[[1]]
#>  [1] "fixed.acidity"        "volatile.acidity"     "citric.acid"         
#>  [4] "residual.sugar"       "chlorides"            "free.sulfur.dioxide" 
#>  [7] "total.sulfur.dioxide" "density"              "pH"                  
#> [10] "sulphates"            "alcohol"              "quality"             
#> [13] "quality_cat"
resumo_red[[2]]
#> [1] 1599   13
resumo_red[[3]]
#>        fixed.acidity     volatile.acidity          citric.acid 
#>           8.31963727           0.52782051           0.27097561 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>           2.53880550           0.08746654          15.87492183 
#> total.sulfur.dioxide              density                   pH 
#>          46.46779237           0.99674668           3.31111320 
#>            sulphates              alcohol              quality 
#>           0.65814884          10.42298311           5.63602251

A função sapply é usada para agrupar dados com uma mesma função. Já o na.rm = TRUE elimina valores NA impedindo que a função não funcione de forma adequada.

b) Diferença entre lista e data frame:

# Sua justificativa como comentário no código:

# Uma lista permite armazenar objetos de tipos e tamanhos diferentes, enquanto um data frame exige que os dados existam e tenham o mesmo tamanho. De forma visual, um dara.frame é mais agradável que uma lista, sendo mais fácil de interpretar resultados de uma forma geral.

3 Parte 2 — Estatística Descritiva

3.1 Questão 2.1 — Classificação das Variáveis

# Classifique todas as variaveis do banco wine_red
# Sugestao: use data.frame() + knitr::kable()

variaveis <- data.frame(
  Variavel = names(wine_red),
  Tipo     = c("Quantitativa Contínua", "Quantitativa Contínua", "Quantitativa Contínua",
                    "Quantitativa Contínua", "Quantitativa Contínua", "Quantitativa Discreta",
                    "Quantitativa Discreta", "Quantitativa Contínua", "Quantitativa Contínua",
                    "Quantitativa Contínua", "Quantitativa Contínua", "Qualitativa Ordinal",
                    "Qualitativa Ordinal") )

knitr::kable(variaveis,
             caption = "Classificação das variáveis do banco Wine Quality (tinto)")
Classificação das variáveis do banco Wine Quality (tinto)
Variavel Tipo
fixed.acidity Quantitativa Contínua
volatile.acidity Quantitativa Contínua
citric.acid Quantitativa Contínua
residual.sugar Quantitativa Contínua
chlorides Quantitativa Contínua
free.sulfur.dioxide Quantitativa Discreta
total.sulfur.dioxide Quantitativa Discreta
density Quantitativa Contínua
pH Quantitativa Contínua
sulphates Quantitativa Contínua
alcohol Quantitativa Contínua
quality Qualitativa Ordinal
quality_cat Qualitativa Ordinal

3.2 Questão 2.2 — Medidas de Tendência Central

a) Média e mediana das variáveis selecionadas:

# Calcule média e mediana para alcohol, pH e volatile.acidity de wine_red
# Apresente em formato de tabela


Tabela_Média_e_Mediana <- data.frame( variável = c("alcohol","pH","volatile.acidity"),
                                      Média = c(mean(wine_red$alcohol, na.rm = TRUE),
                                                mean(wine_red$pH, na.rm = TRUE),
                                                mean(wine_red$volatile.acidity, na.rm = TRUE)),
                                      Mediana = c(median(wine_red$alcohol, na.rm = TRUE),
                                                median(wine_red$pH, na.rm = TRUE),
                                                median(wine_red$volatile.acidity, na.rm = TRUE)))

knitr::kable(Tabela_Média_e_Mediana,
             caption = "Valores de Media e Mediana grupos alchool, pH e volatile.acidity")
Valores de Media e Mediana grupos alchool, pH e volatile.acidity
variável Média Mediana
alcohol 10.4229831 10.20
pH 3.3111132 3.31
volatile.acidity 0.5278205 0.52

b) Interpretação:

Em todos os casos a média e a mediana apresentaram valores próximos, indicando uma boa distribuição dos dados, com ausência de valores muito discrepantes, que caso existissem alterariam o valor da média significativamente

c) Função moda():

moda <- function(x) { 

  frequencias <- table(x)
  maior_frequencia <- max(frequencias)
  resultado <- names(frequencias)[frequencias == maior_frequencia]
  return(as.numeric(resultado))

}

# Teste com a variavel quality de wine_red:

Valor_moda <- moda(wine_red$quality)

print(Valor_moda)
#> [1] 5

O R não apresenta uma função “moda” nativa, para isso foi necessário construir a função, elencando todos os elementos presentes e contando qual mais aparecia.


3.3 Questão 2.3 — Medidas de Dispersão

a) Métricas de dispersão para alcohol de wine_red:

# min, max, amplitude, Q1, Q3, IQR

min(wine_red$alcohol)
#> [1] 8.4
max(wine_red$alcohol)
#> [1] 14.9
diff(range(wine_red$alcohol))
#> [1] 6.5
quantile(wine_red$alcohol)
#>   0%  25%  50%  75% 100% 
#>  8.4  9.5 10.2 11.1 14.9
IQR(wine_red$alcohol)
#> [1] 1.6

b) Resumo de quatro variáveis ao mesmo tempo:

summary(wine_red[, c("alcohol", "pH", "volatile.acidity", "sulphates")])
#>     alcohol            pH        volatile.acidity   sulphates     
#>  Min.   : 8.40   Min.   :2.740   Min.   :0.1200   Min.   :0.3300  
#>  1st Qu.: 9.50   1st Qu.:3.210   1st Qu.:0.3900   1st Qu.:0.5500  
#>  Median :10.20   Median :3.310   Median :0.5200   Median :0.6200  
#>  Mean   :10.42   Mean   :3.311   Mean   :0.5278   Mean   :0.6581  
#>  3rd Qu.:11.10   3rd Qu.:3.400   3rd Qu.:0.6400   3rd Qu.:0.7300  
#>  Max.   :14.90   Max.   :4.010   Max.   :1.5800   Max.   :2.0000

c) Médias de todas as variáveis em uma linha:

# Uma linha de codigo apenas!

colMeans(wine_red[sapply(wine_red, is.numeric)], na.rm = TRUE)
#>        fixed.acidity     volatile.acidity          citric.acid 
#>           8.31963727           0.52782051           0.27097561 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>           2.53880550           0.08746654          15.87492183 
#> total.sulfur.dioxide              density                   pH 
#>          46.46779237           0.99674668           3.31111320 
#>            sulphates              alcohol              quality 
#>           0.65814884          10.42298311           5.63602251

Primeiro é necessário selecionar apenas as variáveis que são numéricas. Das 3 funções apresentadas, a colMeans é a mais indicada. na.rm =TRUE para garantir que valores ausentes não atrapalhem o código. sapply aplica a função para cada elemento.


3.4 Questão 2.4 — Variáveis Categóricas e Frequências

a) Frequências de quality em wine_red:

tab_quality <- table(wine_red$quality)
tab_quality
#> 
#>   3   4   5   6   7   8 
#>  10  53 681 638 199  18
round(prop.table(tab_quality) * 100, 1)
#> 
#>    3    4    5    6    7    8 
#>  0.6  3.3 42.6 39.9 12.4  1.1

b) Frequências de qualidade_cat:

# Repita para qualidade_cat

tab_quality_cat <- table(wine_red$quality_cat)
tab_quality_cat
#> 
#> baixa media  alta 
#>   744   638   217
round(prop.table(tab_quality_cat) * 100, 1)
#> 
#> baixa media  alta 
#>  46.5  39.9  13.6

Sim, as proporções ainda fazem sentido, a distribuição para baixa é equivalente à soma dos valores dos vinhos com nota 3, 4 e 5


4 Parte 3 — Comparando Vinho Tinto e Vinho Branco

4.1 Questão 3.1 — Construção do Data Frame Combinado

a) Adicionando coluna tipo e combinando com rbind():

wine_red$tipo <- "Tinto"
wine_white$tipo <- "Branco"

wine_white$quality_cat <- cut(wine_white$quality,
                            breaks = c(-Inf, 5, 6, Inf),
                            labels = c("baixa", "media", "alta"))

wine_all <- rbind(wine_red, wine_white)

b) Convertendo tipo para fator e verificando:

wine_all$tipo <- factor(wine_all$tipo)

str(wine_all)
#> 'data.frame':    6497 obs. of  14 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 ...
#>  $ quality_cat         : Factor w/ 3 levels "baixa","media",..: 1 1 1 2 1 1 1 3 3 1 ...
#>  $ tipo                : Factor w/ 2 levels "Branco","Tinto": 2 2 2 2 2 2 2 2 2 2 ...
table(wine_all$tipo)
#> 
#> Branco  Tinto 
#>   4898   1599

c) Tamanho total e balanceamento:

# Quantas amostras ao total?

sum(wine_all$tipo=="Tinto") + sum(wine_all$tipo=="Branco")
#> [1] 6497
# O banco esta balanceado entre os tipos?

Contagem <- table(wine_all$tipo)

print(Contagem)
#> 
#> Branco  Tinto 
#>   4898   1599
Porcentagem <- prop.table(Contagem)

print(Porcentagem)
#> 
#>    Branco     Tinto 
#> 0.7538864 0.2461136

Não, o banco não está balanceado, a divisão de amostras está em uma proporção de 1 tinto para 3 brancos, implicando que análises em geral desses grupos podem ser afetadas pela quantidade de amostras de cada grupo, a deixando tendenciosa


4.2 Questão 3.2 — Médias por Grupo com tapply()

a) Médias de todas as variáveis por tipo:

# Para uma variavel:
tapply(wine_all$alcohol, wine_all$tipo, mean)
#>   Branco    Tinto 
#> 10.51427 10.42298
# Para todas as variaveis numericas de uma vez:
vars_num <- names(wine_all)[sapply(wine_all, is.numeric) &
                              names(wine_all) != "quality"]

medias_grupo <- sapply(vars_num, function(v) {
  tapply(wine_all[[v]], wine_all$tipo, mean)
})

knitr::kable(round(t(medias_grupo), 3),
             caption = "Medias por variavel e tipo de vinho")
Medias por variavel e tipo de vinho
Branco Tinto
fixed.acidity 6.855 8.320
volatile.acidity 0.278 0.528
citric.acid 0.334 0.271
residual.sugar 6.391 2.539
chlorides 0.046 0.087
free.sulfur.dioxide 35.308 15.875
total.sulfur.dioxide 138.361 46.468
density 0.994 0.997
pH 3.188 3.311
sulphates 0.490 0.658
alcohol 10.514 10.423

b) Insights químicos:

O vinho tinto apresenta acidez fixa maior que a do branco, esse fato se dá pela produção do vinho, onde o vinho tinto fica em contato com a casca e com as sementes, já o vinho branco não. Essa diferença na produção irá interferir diretamente nos indicadores avaliados. A presença de bactérias e leveduras da casca por exemplo ajudam no processo de fermentação, acelerando o consumo do açúcar, que terá um menor residual para o tinto que para o branco. A presença de “mais matéria prima” na produção do vinho tinto, pode implicar também a produção de uma maior variedade e consequentemente quantidade de compostos, como ácidos, interferindo assim na acidez fixa e volátil, que será maior.


4.3 Questão 3.3 — Dispersão e Variabilidade Comparada

a) Desvio padrão por tipo:

dp_grupo <- sapply(vars_num, function(v) {
  tapply(wine_all[[v]], wine_all$tipo, sd)
})

knitr::kable(round(t(dp_grupo), 3),
             caption = "Desvio padrão por variável e tipo de vinho")
Desvio padrão por variável e tipo de vinho
Branco Tinto
fixed.acidity 0.844 1.741
volatile.acidity 0.101 0.179
citric.acid 0.121 0.195
residual.sugar 5.072 1.410
chlorides 0.022 0.047
free.sulfur.dioxide 17.007 10.460
total.sulfur.dioxide 42.498 32.895
density 0.003 0.002
pH 0.151 0.154
sulphates 0.114 0.170
alcohol 1.231 1.066
# Qual tipo tem maior variabilidade em residual.sugar?

# E em volatile.acidity?

O vinho branco apresenta maior desvio padrão para a variável “açúcar residual”. Já a variável “acidez volátil” apresenta maior desvio padrão para as amostras de vinho tinto.

b) Quantis 5% e 95% de total.sulfur.dioxide:

tapply(wine_all$total.sulfur.dioxide, wine_all$tipo,
       quantile, probs = c(0.05, 0.95))
#> $Branco
#>  5% 95% 
#>  75 212 
#> 
#> $Tinto
#>    5%   95% 
#>  11.0 112.1

O vinho tinto possui uma proteção maior em comparação ao vinho branco devido a presença de diversos compostos, como os taninos por exemplo. A adição de dióxido de enxofre ocorre para garantir a preservação do vinho, sendo necessária uma maior quantidade, com uma maior amplitude de limites inferior e superior para os vinhos brancos.

c) IQR de density por tipo:

tapply(wine_all$density, wine_all$tipo, IQR)
#>    Branco     Tinto 
#> 0.0043775 0.0022350

O vinho branco é menos homogeneo em densidade. A justificativa mais direta pode ser o açúcar residual que é em média 4 vezes maior no vinho branco, esse açúcar residual irá refletir diretamente na densidade do vinho, uma vez que se tem uma maior quantidade de matéria em um mesmo volume amostral.


4.4 Questão 3.4 — Listas como Repositório de Resultados

a) Construindo a lista comparacao com médias, SDs e IQRs:

resumo_tipo <- function(df) {
  vars <- names(df)[sapply(df, is.numeric) & names(df) != "quality"]
  list(
    medias = sapply(df[, vars], mean),
    dp     = sapply(df[, vars], sd),
    iqr    = sapply(df[, vars], IQR)
  )
}

comparacao <- list(
  tinto  = resumo_tipo(wine_red[,  names(wine_red)  != "tipo"]),
  branco = resumo_tipo(wine_white[, names(wine_white) != "tipo"])
)
print(comparacao)
#> $tinto
#> $tinto$medias
#>        fixed.acidity     volatile.acidity          citric.acid 
#>           8.31963727           0.52782051           0.27097561 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>           2.53880550           0.08746654          15.87492183 
#> total.sulfur.dioxide              density                   pH 
#>          46.46779237           0.99674668           3.31111320 
#>            sulphates              alcohol 
#>           0.65814884          10.42298311 
#> 
#> $tinto$dp
#>        fixed.acidity     volatile.acidity          citric.acid 
#>          1.741096318          0.179059704          0.194801137 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>          1.409928060          0.047065302         10.460156970 
#> total.sulfur.dioxide              density                   pH 
#>         32.895324478          0.001887334          0.154386465 
#>            sulphates              alcohol 
#>          0.169506980          1.065667582 
#> 
#> $tinto$iqr
#>        fixed.acidity     volatile.acidity          citric.acid 
#>             2.100000             0.250000             0.330000 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>             0.700000             0.020000            14.000000 
#> total.sulfur.dioxide              density                   pH 
#>            40.000000             0.002235             0.190000 
#>            sulphates              alcohol 
#>             0.180000             1.600000 
#> 
#> 
#> $branco
#> $branco$medias
#>        fixed.acidity     volatile.acidity          citric.acid 
#>           6.85478767           0.27824112           0.33419151 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>           6.39141486           0.04577236          35.30808493 
#> total.sulfur.dioxide              density                   pH 
#>         138.36065741           0.99402738           3.18826664 
#>            sulphates              alcohol 
#>           0.48984688          10.51426705 
#> 
#> $branco$dp
#>        fixed.acidity     volatile.acidity          citric.acid 
#>          0.843868228          0.100794548          0.121019804 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>          5.072057784          0.021847968         17.007137325 
#> total.sulfur.dioxide              density                   pH 
#>         42.498064554          0.002990907          0.151000600 
#>            sulphates              alcohol 
#>          0.114125834          1.230620568 
#> 
#> $branco$iqr
#>        fixed.acidity     volatile.acidity          citric.acid 
#>            1.0000000            0.1100000            0.1200000 
#>       residual.sugar            chlorides  free.sulfur.dioxide 
#>            8.2000000            0.0140000           23.0000000 
#> total.sulfur.dioxide              density                   pH 
#>           59.0000000            0.0043775            0.1900000 
#>            sulphates              alcohol 
#>            0.1400000            1.9000000

b) Duas formas de acessar o IQR de alcohol do tinto:

# Forma 1:
comparacao$tinto$iqr["alcohol"]
#> alcohol 
#>     1.6
# Forma 2 (use notacao [[]] ):

comparacao[[1]][[3]]["alcohol"]
#> alcohol 
#>     1.6

c) Vantagem da lista aninhada:

# Escreva sua justificativa como comentário:


# Armazenar em lista aninhada permite visualizar e comparar dados de forma mais direta, enquanto objetos soltos devem ser analisados separadamente.

4.5 Questão 3.5 — Insight Final Livre

Diversas diferenças entre os tipos de vinho branco e tinto foram observadas, principalmente em relação à quantidade de açúcar residual e dióxidos de enxofre adicionados. Essas diferenças físico-químicas refletem as diferenças do processo de produção dos vinhos, que é distinta. De forma estatística, o teor de dióxido de enxofre livre é o mais discriminante entre os tipos de vinho, uma vez que a sua média é praticamente 4 vezes maior para o vinho branco em relação ao tinto.


5 Sessão R

sessionInfo()
#> R version 4.4.0 (2024-04-24 ucrt)
#> Platform: x86_64-w64-mingw32/x64
#> Running under: Windows 11 x64 (build 26200)
#> 
#> Matrix products: default
#> 
#> 
#> locale:
#> [1] LC_COLLATE=Portuguese_Brazil.utf8  LC_CTYPE=Portuguese_Brazil.utf8   
#> [3] LC_MONETARY=Portuguese_Brazil.utf8 LC_NUMERIC=C                      
#> [5] LC_TIME=Portuguese_Brazil.utf8    
#> 
#> time zone: America/Sao_Paulo
#> tzcode source: internal
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] dplyr_1.1.4   ggplot2_4.0.1
#> 
#> loaded via a namespace (and not attached):
#>  [1] vctrs_0.6.5        cli_3.6.5          knitr_1.50         rlang_1.1.6       
#>  [5] xfun_0.53          generics_0.1.4     S7_0.2.1           jsonlite_2.0.0    
#>  [9] glue_1.8.0         htmltools_0.5.8.1  sass_0.4.10        scales_1.4.0      
#> [13] rmarkdown_2.30     grid_4.4.0         tibble_3.3.0       evaluate_1.0.5    
#> [17] jquerylib_0.1.4    fastmap_1.2.0      yaml_2.3.10        lifecycle_1.0.4   
#> [21] compiler_4.4.0     RColorBrewer_1.1-3 pkgconfig_2.0.3    rstudioapi_0.17.1 
#> [25] farver_2.1.2       digest_0.6.37      R6_2.6.1           tidyselect_1.2.1  
#> [29] pillar_1.11.1      magrittr_2.0.3     bslib_0.9.0        withr_3.0.2       
#> [33] tools_4.4.0        gtable_0.3.6       cachem_1.1.0