Introdução

Nesse trabalho vamos fazer uma análise sobre os dados do df_pokemon.RData

Pacotes necessários

library(readxl)
library(flextable)
library(dplyr)
## 
## Anexando pacote: 'dplyr'
## Os seguintes objetos são mascarados por 'package:stats':
## 
##     filter, lag
## Os seguintes objetos são mascarados por 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(reactable) 
library(corrplot)
## corrplot 0.95 loaded
library(ggthemes)

Carregar a base de dados

load("C:/Users/dalto/Base_de_dados-master/df_pokemon.RData")

Mostrando tabela da base de dados

head(df) %>% flextable()  %>% theme_alafoli()

id

pokemon

species_id

height

weight

base_experience

type_1

type_2

attack

defense

hp

special_attack

special_defense

speed

color_1

color_2

color_f

egg_group_1

egg_group_2

url_image

x

y

1

bulbasaur

1

7

69

64

grass

poison

49

49

45

65

65

45

#78C850

#A040A0

#81A763

monster

plant

1.png

32.82239

17.21614

2

ivysaur

2

10

130

142

grass

poison

62

63

60

80

80

60

#78C850

#A040A0

#81A763

monster

plant

2.png

33.32643

16.71226

3

venusaur

3

20

1,000

236

grass

poison

82

83

80

100

100

80

#78C850

#A040A0

#81A763

monster

plant

3.png

33.93778

16.17232

4

charmander

4

6

85

62

fire

52

43

39

60

50

65

#F08030

#F08030

monster

dragon

4.png

-24.36338

30.78973

5

charmeleon

5

11

190

142

fire

64

58

58

80

65

80

#F08030

#F08030

monster

dragon

5.png

-24.57820

30.60161

6

charizard

6

17

905

240

fire

flying

84

78

78

109

85

100

#F08030

#A890F0

#DE835E

monster

dragon

6.png

-25.50657

29.77037

1 - Análise com duas variáveis (Quanti vs Quali)

Média e desvio padrão

df %>% group_by(type_1) %>% summarise(média=mean(speed),
                                      desvio_padrão=sd (speed))
## # A tibble: 18 × 3
##    type_1   média desvio_padrão
##    <chr>    <dbl>         <dbl>
##  1 bug       60.1          32.2
##  2 dark      75.4          25.1
##  3 dragon    76.7          22.4
##  4 electric  83.5          27.4
##  5 fairy     48.6          23.3
##  6 fighting  62.9          24.3
##  7 fire      74.5          24.6
##  8 flying    96.3          36.3
##  9 ghost     60.8          27.5
## 10 grass     59.9          25.8
## 11 ground    62.1          27.4
## 12 ice       61.9          23.8
## 13 normal    69.7          27.0
## 14 poison    63.6          22.6
## 15 psychic   72.6          32.6
## 16 rock      52.0          25.7
## 17 steel     54.2          25.5
## 18 water     65.0          22.6

Mediana

df %>% group_by(type_1) %>% summarise(mínimo = min(speed),
                                      quartil1 = quantile(speed, probs=0.25),
                                      mediana=median(speed),
                                      quartil3 = quantile(speed, probs=0.75),
                                      máximo=max(speed)) %>% 
reactable()

Variância

df %>% group_by(type_1) %>% summarise(média=mean(speed),
                                      desvio_padrão=sd (speed),
                                      variância= var(speed))
## # A tibble: 18 × 4
##    type_1   média desvio_padrão variância
##    <chr>    <dbl>         <dbl>     <dbl>
##  1 bug       60.1          32.2     1039.
##  2 dark      75.4          25.1      628.
##  3 dragon    76.7          22.4      502.
##  4 electric  83.5          27.4      749.
##  5 fairy     48.6          23.3      543.
##  6 fighting  62.9          24.3      589.
##  7 fire      74.5          24.6      604.
##  8 flying    96.3          36.3     1317.
##  9 ghost     60.8          27.5      759.
## 10 grass     59.9          25.8      666.
## 11 ground    62.1          27.4      753.
## 12 ice       61.9          23.8      564.
## 13 normal    69.7          27.0      728.
## 14 poison    63.6          22.6      512.
## 15 psychic   72.6          32.6     1060.
## 16 rock      52.0          25.7      661.
## 17 steel     54.2          25.5      649.
## 18 water     65.0          22.6      511.

2 - Gráfico Boxplot

ggplot(df, aes(x = type_1, y = speed)) +
  geom_boxplot(fill="#629111") + theme_minimal() + theme(
    plot.background = element_rect(fill = "#cef5d3")) +
  labs(
    title = "Gráfico 1 - Boxplot",
    subtitle ="Média de Velocidade por Tipo de Pokémon",
    x = "Tipo de Pokémon",
    y = "Domínio de Velocidade")

3 - Diagrama de dispersão

plot(df$speed, df$weight, pch=19,col="#5b3b96",
     main="Gráfico 2 - Diagrama de Dispersão", xlab = "Velocidade", ylab = "Peso do Pokémon")
abline(lsfit(df$speed, df$weight),col="#e36fd9",lwd=5)

4 - Correlação

library(corrplot)
M <- cor(df[,c("height","weight","base_experience", "attack","defense","hp","special_attack", "special_defense", "speed")])
corrplot(M, method="circle")

corrplot(M, method="color")

col3 <- colorRampPalette(c("#406b11", "#9df2f5", "#f205bb")) 
corrplot(M, order="hclust", addrect=2, col=col3(20), tl.col = 'black')

cor(df$speed,df$weight)
## [1] 0.1081207

5 - Interpretação das Tabelas e dos Gráficos

5.1 - Um resumo (média, mediana, desvio-padrão, etc) de uma variável quantitativa por grupos de uma variável qualitativa

A tabela apresenta informações estatísticas e serve para comparação da variável “Speed” entre os diferentes tipos de Pokémon, considerando: valor mínimo, primeiro quartil (25%), mediana (50%), terceiro quartil (75%) e valor máximo.

O Pokémon do tipo “Bug” apresenta uma ampla variação, com velocidade mínima de 5, mediana de 57 e atinge uma velocidade máxima de 160. Já Pokémon do tipo “Psychic” possuem velocidades mais elevadas no geral, com uma mediana de 71 e um máximo de 150, o que sugere uma tendência de rapidez. O tipo “dragon” apresenta uma mediana de 80, enquanto seu valor máximo é 110, indicando que a maior parte dos valores está abaixo desse limite superior. Em contraste, o tipo “Rock” mostra valores mais baixos, com uma mediana de 50, máximo de 130 e valores mínimos tão baixos quanto 10, indicando que geralmente são mais lentos. Essas informações são úteis para planejar estratégias de batalha, permitindo identificar quais tipos têm vantagem ou desvantagem em termos de velocidade.

Os tipos como “Eletric” e “Flying” se destacam pela alta velocidade (medianas de 93 e 111), conferindo vantagem em ataques rápidos e controle do ritmo da batalha, enquanto tipos como “Rock” e “Steel”, com medianas de 50, são notavelmente mais lentos, priorizando resistência e defesa em detrimento da agilidade. Criticamente, essa variação reflete um equilíbrio intencional no design dos Pokémon, mas destaca desvantagens para tipos mais lentos, como “Rock”, que podem se tornar vulneráveis a ataques antes de reagirem. A grande amplitude em alguns tipos, como “Bug” (mínimo de 5 e máximo de 160), indica diversidade estratégica interna, mas evidencia que a velocidade, embora essencial, precisa ser complementada por outros atributos para garantir eficácia no combate.

5.2 - Gráfico Boxplot

O gráfico boxplot apresenta a distribuição das velocidades médias dos Pokémon agrupados por seus tipos, nos permitindo observar a mediana, o intervalo interquartil e a presença de outliers, refletindo diferenças de desempenho em velocidade. Onde, os tipos “Flying” e “Electric” mostram velocidades medianas altas em relação a outros, enquanto “Dark” e “Ice” possuem medianas mais baixas. Já os outliers estão presentes indicando Pokémon com velocidades atípicas, como no tipo “Bug”, “Poison” e “Rock”. Esse tipo de análise é útil para entender quais tipos de Pokémon tendem a ser mais rápidos ou lentos em média e como suas velocidades se distribuem dentro de cada categoria.

5.3 - Diagrama de dispersão

O diagrama de dispersão destaca a relação entre a velocidade dos Pokémon (eixo x) e o peso (eixo y), evidenciando que a maioria dos Pokémon possui peso concentrado em valores baixos independentemente da velocidade, revelando uma ampla variabilidade entre os Pokémon analisados nesses dados. Dessa forma, há alguns pontos dispersos com pesos extremamente altos, indicando casos atípicos, onde na linha rosa podemos perceber que não há uma correlação forte entre peso e velocidade, ou seja, um Pokémon mais pesado não necessariamente será mais rápido ou mais lento.

5.4 - Correlação

A matriz de correlação evidencia as relações entre variáveis quantitativas dos Pokémon, como velocidade, ataque, defesa, ataque especial, defesa especial, experiência base, HP, altura e peso. No qual, a cor e o tamanho dos círculos definem a força da correlação, sendo círculos maiores e mais coloridos indicadores de correlações mais fortes (mais próximas de 1 ou -1), enquanto círculos menores e mais claros indicam correlações fracas (próximas de 0). Logo, cada célula representa o coeficiente de correlação entre duas variáveis, variando de -1 a 1, onde 1 indica uma correlação positiva perfeita, -1 uma correlação negativa perfeita e 0 nenhuma correlação linear.

Desse modo, o valor de 0,1081207 aponta para uma correlação muito fraca entre as variáveis correspondentes, sugerindo que elas têm pouca ou nenhuma relação linear. Onde a matriz ajuda a entender, por exemplo, como Pokémon mais altos e pesados tendem a ter HP mais alto ou se há pouca relação entre defesa e velocidade.

Observa-se que peso e altura possuem uma correlação alta (valores próximos de 1), indicando que Pokémon mais altos tendem a ser mais pesados. Já a experiência base apresenta uma correlação moderada com atributos como ataque e HP, sugerindo que Pokémon com maior base de experiência tendem a ter valores elevados nesses atributos. No entanto, a velocidade revela correlações fracas com peso e altura, reforçando que ela é menos influenciada por essas características físicas, mostrando que há variações significativas nas correlações, destacando a diversidade dos atributos entre os Pokémon.