library(dplyr)
library(tidyverse)
library(psych)
library(corrplot)
library(nortest)
library(reactable)
library(ggplot2)
library(corrplot)
library(flextable)
shades <- read.csv("C:/Users/Mamede/Desktop/Bia/shades.csv")
Este relatório descreve a abordagem metodológica que será utilizada na análise de dados sobre as tonalidades de maquiagem oferecidas por diferentes marcas e grupos de produtos. O foco é explorar como as variáveis hue (matiz), saturation (saturação), value (valor) e lightness (clareza) influenciam as preferências de produtos e como essas distribuições variam entre categorias. O estudo busca compreender as relações culturais e de mercado que afetam a diversidade de tons oferecidos.
A primeira etapa da análise consiste em realizar uma Análise Exploratória de Dados (EDA) para obter uma compreensão inicial das variáveis:
- Estatísticas descritivas: calcular média, desvio padrão, valores mínimo e máximo para as variáveis hue, saturation, value e lightness.
- Visualização de distribuições: criar histogramas e boxplots para cada uma das variáveis com o objetivo de identificar padrões gerais e potenciais outliers.
- Verificação de valores nulos: analisar a presença de dados ausentes e decidir sobre a melhor abordagem para tratamento.
result <- shades %>%
group_by(brand) %>%
summarise(
media = mean(H),
desvio_padrao = sd(H),
minimo = min(H),
meadiana = median(H),
maximo = max(H))
print(result, n = Inf)
## # A tibble: 36 × 6
## brand media desvio_padrao minimo meadiana maximo
## <chr> <dbl> <dbl> <int> <dbl> <int>
## 1 Addiction 27.1 1.85 25 27 30
## 2 Beauty Bakerie 29.2 6.22 18 29.5 45
## 3 Bharat & Doris 33.6 4.28 29 33 42
## 4 Black Opal 20.3 3.77 13 21 25
## 5 Black Up 21.8 6.41 8 23.5 30
## 6 Blue Heaven 27 4.24 24 27 30
## 7 Bobbi Brown 27.1 4.53 17 28 33
## 8 Colorbar 25.7 1.15 25 25 27
## 9 Covergirl + Olay NA NA NA NA NA
## 10 Dior 26.8 3.37 24 25.5 32
## 11 Elsas Pro 18.7 5.12 10 20 26
## 12 Estée Lauder 26.0 3.13 20 25 33
## 13 Fenty 25.7 2.86 19 26 33
## 14 Hegai and Ester 18.8 9.44 4 20 34
## 15 House of Tara 23 5.08 14 23 29
## 16 IPSA 24.8 4.07 19 24 30
## 17 Iman 28.4 3.81 25 27.5 36
## 18 Kate 26.5 3.02 23 26 32
## 19 Kuddy 23.6 4.16 21 22 31
## 20 L'Oréal 23.8 4.37 13 24 30
## 21 Lakmé 25 4.40 20 25 30
## 22 Lancôme 25.4 4.41 14 26 32
## 23 Laws of Nature 21.6 5.76 10 23 29
## 24 Lotus Herbals 27.2 2.75 24 27.5 30
## 25 MAC 28.8 3.19 22 29 36
## 26 Make Up For Ever 20.2 6.17 5 20.5 37
## 27 Maybelline 24.7 3.97 12 24.5 32
## 28 NARS 28.9 2.60 26 28 35
## 29 Nykaa 22.8 1.79 21 23 25
## 30 Olivia 25.2 2.99 21 26 28
## 31 RMK 28.1 6.75 12 29 36
## 32 Revlon 21.5 3.78 14 21 31
## 33 Shiseido 23.8 2.32 21 23.5 27
## 34 Shu Uemera 30.9 5.19 21 30 37
## 35 Trim & Prissy 25.8 3.65 20 28 30
## 36 bareMinerals 29.3 2.44 26 29 35
result <- shades %>% group_by(brand) %>% summarise(media=mean(S),
desvio_padrao=sd(S),
minimo=min(S),
meadiana=median(S),
maximo=max(S))
print(result, n = Inf)
## # A tibble: 36 × 6
## brand media desvio_padrao minimo meadiana maximo
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Addiction 0.428 0.103 0.25 0.47 0.6
## 2 Beauty Bakerie 0.415 0.201 0.12 0.4 0.77
## 3 Bharat & Doris 0.413 0.0690 0.29 0.41 0.49
## 4 Black Opal 0.54 0.0386 0.47 0.53 0.6
## 5 Black Up 0.573 0.122 0.24 0.595 0.73
## 6 Blue Heaven 0.42 0.0141 0.41 0.42 0.43
## 7 Bobbi Brown 0.519 0.193 0.18 0.495 1
## 8 Colorbar 0.377 0.0666 0.3 0.41 0.42
## 9 Covergirl + Olay NA NA NA NA NA
## 10 Dior 0.288 0.0431 0.25 0.27 0.36
## 11 Elsas Pro 0.438 0.0487 0.37 0.44 0.54
## 12 Estée Lauder 0.535 0.152 0.25 0.545 0.76
## 13 Fenty 0.479 0.181 0.12 0.5 0.79
## 14 Hegai and Ester 0.625 0.0858 0.47 0.645 0.74
## 15 House of Tara 0.67 0.0789 0.52 0.68 0.76
## 16 IPSA 0.342 0.0313 0.31 0.34 0.39
## 17 Iman 0.661 0.250 0.27 0.695 0.94
## 18 Kate 0.403 0.0920 0.24 0.425 0.51
## 19 Kuddy 0.534 0.0297 0.5 0.52 0.57
## 20 L'Oréal 0.436 0.196 0.2 0.395 0.92
## 21 Lakmé 0.41 0.0516 0.35 0.41 0.47
## 22 Lancôme 0.485 0.150 0.1 0.475 0.86
## 23 Laws of Nature 0.534 0.183 0.22 0.55 0.86
## 24 Lotus Herbals 0.355 0.154 0.17 0.355 0.54
## 25 MAC 0.409 0.124 0.17 0.39 0.65
## 26 Make Up For Ever 0.351 0.0930 0.14 0.36 0.54
## 27 Maybelline 0.407 0.116 0.2 0.4 0.64
## 28 NARS 0.478 0.106 0.33 0.48 0.69
## 29 Nykaa 0.372 0.0835 0.26 0.4 0.45
## 30 Olivia 0.672 0.0670 0.61 0.67 0.74
## 31 RMK 0.426 0.110 0.26 0.39 0.59
## 32 Revlon 0.394 0.0475 0.31 0.38 0.49
## 33 Shiseido 0.412 0.0500 0.35 0.415 0.49
## 34 Shu Uemera 0.421 0.0960 0.24 0.42 0.58
## 35 Trim & Prissy 0.518 0.0707 0.34 0.55 0.6
## 36 bareMinerals 0.448 0.122 0.25 0.42 0.65
result <- shades %>% group_by(brand) %>% summarise(media=mean(V),
desvio_padrao=sd(V),
minimo=min(V),
meadiana=median(V),
maximo=max(V))
print(result, n = Inf)
## # A tibble: 36 × 6
## brand media desvio_padrao minimo meadiana maximo
## <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Addiction 0.913 0.0815 0.76 0.92 1
## 2 Beauty Bakerie 0.787 0.205 0.31 0.875 0.98
## 3 Bharat & Doris 0.85 0.0455 0.8 0.84 0.93
## 4 Black Opal 0.518 0.164 0.3 0.48 0.74
## 5 Black Up 0.643 0.211 0.21 0.675 0.93
## 6 Blue Heaven 0.915 0.00707 0.91 0.915 0.92
## 7 Bobbi Brown 0.760 0.159 0.38 0.82 0.96
## 8 Colorbar 0.877 0.0681 0.8 0.9 0.93
## 9 Covergirl + Olay NA NA NA NA NA
## 10 Dior 0.893 0.0301 0.84 0.895 0.93
## 11 Elsas Pro 0.619 0.153 0.45 0.55 0.85
## 12 Estée Lauder 0.761 0.170 0.37 0.815 1
## 13 Fenty 0.783 0.178 0.35 0.835 0.99
## 14 Hegai and Ester 0.756 0.156 0.56 0.765 0.96
## 15 House of Tara 0.55 0.119 0.36 0.56 0.71
## 16 IPSA 0.925 0.0122 0.91 0.93 0.94
## 17 Iman 0.651 0.187 0.39 0.645 0.9
## 18 Kate 0.873 0.0758 0.76 0.885 0.97
## 19 Kuddy 0.788 0.0642 0.7 0.78 0.88
## 20 L'Oréal 0.806 0.182 0.3 0.865 0.99
## 21 Lakmé 0.788 0.0574 0.74 0.77 0.87
## 22 Lancôme 0.777 0.182 0.22 0.84 0.99
## 23 Laws of Nature 0.63 0.182 0.2 0.65 0.87
## 24 Lotus Herbals 0.852 0.104 0.72 0.875 0.94
## 25 MAC 0.809 0.106 0.45 0.825 1
## 26 Make Up For Ever 0.815 0.143 0.39 0.85 0.98
## 27 Maybelline 0.776 0.210 0.25 0.885 1
## 28 NARS 0.892 0.0551 0.79 0.89 0.98
## 29 Nykaa 0.848 0.0476 0.8 0.83 0.92
## 30 Olivia 0.85 0.101 0.72 0.87 0.94
## 31 RMK 0.941 0.0729 0.76 0.97 0.99
## 32 Revlon 0.850 0.103 0.56 0.87 0.98
## 33 Shiseido 0.885 0.0524 0.8 0.91 0.93
## 34 Shu Uemera 0.877 0.0916 0.69 0.9 0.98
## 35 Trim & Prissy 0.718 0.154 0.47 0.69 0.99
## 36 bareMinerals 0.766 0.145 0.43 0.82 0.94
result <- shades %>% group_by(brand) %>% summarise(media=mean(L),
desvio_padrao=sd(L),
minimo=min(L),
meadiana=median(L),
maximo=max(L))
print(result, n = Inf)
## # A tibble: 36 × 6
## brand media desvio_padrao minimo meadiana maximo
## <chr> <dbl> <dbl> <int> <dbl> <int>
## 1 Addiction 77.3 9.44 60 77 90
## 2 Beauty Bakerie 68.9 22.9 22 76.5 94
## 3 Bharat & Doris 75 5.51 68 75 83
## 4 Black Opal 41.6 14.5 23 38.5 65
## 5 Black Up 50.4 20.2 16 53 86
## 6 Blue Heaven 77.5 0.707 77 77.5 78
## 7 Bobbi Brown 63.1 17.7 28 67 90
## 8 Colorbar 75.7 6.51 69 76 82
## 9 Covergirl + Olay 79.5 4.03 75 78.5 90
## 10 Dior 80 3.79 73 81 83
## 11 Elsas Pro 51.1 13.3 36 45 74
## 12 Estée Lauder 62.4 16.6 27 66 89
## 13 Fenty 65.6 19.1 25 67.5 94
## 14 Hegai and Ester 56.1 14.2 38 55 80
## 15 House of Tara 41.8 12.3 23 42 59
## 16 IPSA 80.2 3.31 75 80.5 84
## 17 Iman 52.8 19.3 27 50 80
## 18 Kate 74.8 9.37 61 75.5 88
## 19 Kuddy 62.8 6.42 54 62 72
## 20 L'Oréal 68.5 18.6 19 75.5 90
## 21 Lakmé 67.5 5.57 62 66.5 75
## 22 Lancôme 64.8 18.6 14 71.5 95
## 23 Laws of Nature 51 18.3 11 53 78
## 24 Lotus Herbals 74.8 7.85 67 75 82
## 25 MAC 70.3 11.3 36 72.5 90
## 26 Make Up For Ever 70.0 14.8 31 73.5 92
## 27 Maybelline 66.4 19.4 16 76 92
## 28 NARS 74.7 7.79 62 74 88
## 29 Nykaa 72.6 7.09 65 74 83
## 30 Olivia 63.5 7.77 54 64 72
## 31 RMK 79.8 9.97 58 82 90
## 32 Revlon 71.4 9.70 47 73 85
## 33 Shiseido 74.2 5.49 65 76.5 79
## 34 Shu Uemera 76.1 9.18 59 75 89
## 35 Trim & Prissy 59.1 14.0 39 57 87
## 36 bareMinerals 66.2 14.7 35 71 85
Antes de realizar comparações entre grupos, serão aplicados testes de normalidade:
- Teste de Shapiro-Wilk: para verificar se as variáveis seguem uma distribuição normal.
Interpretação: se o p-valor for menor que 0,05, a hipótese nula de normalidade será rejeitada, indicando uma distribuição não normal.
shapiro.test(shades$H)
##
## Shapiro-Wilk normality test
##
## data: shades$H
## W = 0.97394, p-value = 5.56e-09
shapiro.test(shades$S)
##
## Shapiro-Wilk normality test
##
## data: shades$S
## W = 0.98615, p-value = 1.464e-05
shapiro.test(shades$V)
##
## Shapiro-Wilk normality test
##
## data: shades$V
## W = 0.89754, p-value < 2.2e-16
shapiro.test(shades$L)
##
## Shapiro-Wilk normality test
##
## data: shades$L
## W = 0.93629, p-value = 1.095e-15
Será calculada a matriz de correlação entre as variáveis hue, saturation, value e lightness para identificar relações lineares.
Visualizações de diagramas de dispersão ajudarão a explorar as relações bivariadas.
shades_selected <- shades[, c("H", "S", "V", "L")]
correlation_matrix <- cor(shades_selected, use = "complete.obs")
print(correlation_matrix)
## H S V L
## H 1.0000000 -0.1664362 0.4098312 0.4514155
## S -0.1664362 1.0000000 -0.7077968 -0.8106189
## V 0.4098312 -0.7077968 1.0000000 0.9806898
## L 0.4514155 -0.8106189 0.9806898 1.0000000
pairs(shades[, c("H", "S", "V", "L")], main="Diagrama de Dispersão")
corrplot(correlation_matrix, method = "circle")
Para comparar diferentes categorias de grupos de produtos:
Testes t para duas amostras independentes serão usados se as variáveis forem normalmente distribuídas.
Teste de Kruskal-Wallis será aplicado para distribuições não normais.
O teste de Levene verificará se as variâncias entre grupos são homogêneas, um requisito para muitos testes paramétricos.
A variável hue será estudada com base em médias, mínimos, máximos e desvios padrões para avaliar variações nas preferências de cor.
Saturation será analisada para entender sua influência sobre a intensidade das cores.
Gráficos de barras e boxplots serão utilizados para facilitar a comparação visual das distribuições de tonalidades entre os diferentes grupos de produtos e marcas.
hist(shades$H, main="Distribuição de Hue", xlab="Hue", col="#dc2171")
hist(shades$S, main="Distribuição de Saturation", xlab="Saturation", col="#ff708f")
hist(shades$V, main="Distribuição de Value", xlab="Value", col="#a6c7ff")
hist(shades$L, main="Distribuição de Lightness", xlab="Lightness", col="#0071bc")
boxplot(shades$H, main="Boxplot de Hue", col="#006243")
boxplot(shades$S, main="Boxplot de Saturação", col="#19999f")
boxplot(shades$V, main="Boxplot de Value", col="#b9e878")
boxplot(shades$L, main="Boxplot de Lightness", col="#957ccb")
As técnicas descritas permitirão identificar tendências e diferenças significativas nas distribuições de tonalidades de maquiagem, proporcionando insights sobre a diversidade de produtos e suas relações com as preferências de consumo em diferentes contextos culturais e mercadológicos.