Introdução

1. Importação de dados e Carregamento de Bibliotecas Necessarias

Nesta seção, vamos fazer a importação dos dados e o carregamento das bibliotecas a serem utilizadas

# Carregar bibliotecas necessários
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# Ler a base de dados
wine_data <- read.csv("winequality-white.csv", sep = ";")
# Ver as primeiras linhas da base de dados
head(wine_data)
##   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

2. Escola das variaveis

Nesta secção vamos escolher duas variaveis para comparar.

Variáveis:
    [fixed.acidity]: [Refere-se ao nível de acidez fixa presente no vinho, que está relacionado a componentes como ácido tartárico e málico.]
    [chlorides]: [Representa a quantidade de cloretos (sal) no vinho, medido em gramas por litro.]
# Selecionar as duas variáveis para comparação
var1 <- wine_data$fixed.acidity
var2 <- wine_data$chlorides

3. Função para Intervalo de Confiança da Razão de Variâncias

Nesta seção, vamos construir uma função que calcula o Intervalo de Confiança da Razão de Variancias

# Função para calcular o intervalo de confiança da razão de variâncias
ic_variancia <- function(sample1, sample2, conf.level = 0.95) {
  # Tamanhos das amostras
  n1 <- length(sample1)
  n2 <- length(sample2)
  
  # Variâncias das amostras
  var1 <- var(sample1)
  var2 <- var(sample2)
  
  # Razão das variâncias
  F <- var1 / var2
  
  # Valores críticos da distribuição F
  alpha <- 1 - conf.level
  lower_critical <- qf(alpha / 2, df1 = n1 - 1, df2 = n2 - 1)
  upper_critical <- qf(1 - alpha / 2, df1 = n1 - 1, df2 = n2 - 1)
  
  # Intervalo de confiança
  lower_bound <- F / upper_critical
  upper_bound <- F / lower_critical
  
  return(list(
    Razao_Variancias = F,
    IC_Lower = lower_bound,
    IC_Upper = upper_bound
  ))
}

3.1 Funcionamento da Função criada

  1. Calcula os tamanhos das amostras e as variâncias.
  2. Determina a razão das variâncias.
  3. Calcula os valores críticos da distribuição F com base no nível de confiança.
  4. Usa esses valores críticos para determinar os limites inferior e superior do intervalo de confiança.
  5. Retorna os resultados como uma lista

4. Calculo do Intervalo de Confiança

Nesta secção, está o resultado do cálculo para o intervalo de confiança da razão de variâncias entre as duas variáveis selecionadas

# Calcular intervalo de confiança
ic_result <- ic_variancia(var1, var2, conf.level = 0.95)
# Mostrar resultados
ic_result
## $Razao_Variancias
## [1] 1491.857
## 
## $IC_Lower
## [1] 1410.577
## 
## $IC_Upper
## [1] 1577.82

5. Analise

Após o calculo do Intervalo de Confiança para a Razão de Variancias podemos verificar que os resultados incluem:

  1. Razão das variâncias: ic_result$Razao_Variancias
  2. Limite inferior: ic_result$IC_Lower
  3. Limite superior: ic_result$IC_Upper

Estes resultados permitem-nos avaliar se as variâncias das duas populações são significativamente diferentes com base no nível de confiança 95%.

ic_result$Razao_Variancias
## [1] 1491.857
ic_result$IC_Lower
## [1] 1410.577
ic_result$IC_Upper
## [1] 1577.82

5.1 Interpretação de Resultados

  1. O valor 1 não está dentro do intervalo [1410.577, 1577.82].

  2. Isso significa que podemos rejeitar a hipótese nula de que as variâncias das duas populações são iguais.

6. Conclusão

As variâncias das duas populações são significativamente diferentes com base no intervalo de confiança de 95%.