load("C:/Users/Maria Helena/Desktop/Base_de_dados-master/df_pokemon.RData")
str(df)
## Classes 'tbl_df', 'tbl' and 'data.frame': 718 obs. of 22 variables:
## $ id : num 1 2 3 4 5 6 7 8 9 10 ...
## $ pokemon : chr "bulbasaur" "ivysaur" "venusaur" "charmander" ...
## $ species_id : int 1 2 3 4 5 6 7 8 9 10 ...
## $ height : int 7 10 20 6 11 17 5 10 16 3 ...
## $ weight : int 69 130 1000 85 190 905 90 225 855 29 ...
## $ base_experience: int 64 142 236 62 142 240 63 142 239 39 ...
## $ type_1 : chr "grass" "grass" "grass" "fire" ...
## $ type_2 : chr "poison" "poison" "poison" NA ...
## $ attack : int 49 62 82 52 64 84 48 63 83 30 ...
## $ defense : int 49 63 83 43 58 78 65 80 100 35 ...
## $ hp : int 45 60 80 39 58 78 44 59 79 45 ...
## $ special_attack : int 65 80 100 60 80 109 50 65 85 20 ...
## $ special_defense: int 65 80 100 50 65 85 64 80 105 20 ...
## $ speed : int 45 60 80 65 80 100 43 58 78 45 ...
## $ color_1 : chr "#78C850" "#78C850" "#78C850" "#F08030" ...
## $ color_2 : chr "#A040A0" "#A040A0" "#A040A0" NA ...
## $ color_f : chr "#81A763" "#81A763" "#81A763" "#F08030" ...
## $ egg_group_1 : chr "monster" "monster" "monster" "monster" ...
## $ egg_group_2 : chr "plant" "plant" "plant" "dragon" ...
## $ url_image : chr "1.png" "2.png" "3.png" "4.png" ...
## $ x : num 32.8 33.3 33.9 -24.4 -24.6 ...
## $ y : num 17.2 16.7 16.2 30.8 30.6 ...
summary(df)
## id pokemon species_id height
## Min. : 1.0 Length:718 Min. : 1.0 Min. : 1.00
## 1st Qu.:180.2 Class :character 1st Qu.:180.2 1st Qu.: 6.00
## Median :359.5 Mode :character Median :359.5 Median : 10.00
## Mean :359.5 Mean :359.5 Mean : 11.41
## 3rd Qu.:538.8 3rd Qu.:538.8 3rd Qu.: 14.00
## Max. :718.0 Max. :718.0 Max. :145.00
## weight base_experience type_1 type_2
## Min. : 1.0 Min. : 36.00 Length:718 Length:718
## 1st Qu.: 95.0 1st Qu.: 65.25 Class :character Class :character
## Median : 280.0 Median :147.00 Mode :character Mode :character
## Mean : 568.2 Mean :141.55
## 3rd Qu.: 609.5 3rd Qu.:177.00
## Max. :9500.0 Max. :608.00
## attack defense hp special_attack
## Min. : 5.00 Min. : 5.00 Min. : 1.00 Min. : 10.00
## 1st Qu.: 53.00 1st Qu.: 50.00 1st Qu.: 50.00 1st Qu.: 45.00
## Median : 73.00 Median : 65.00 Median : 65.00 Median : 65.00
## Mean : 74.85 Mean : 70.67 Mean : 68.37 Mean : 68.47
## 3rd Qu.: 95.00 3rd Qu.: 85.00 3rd Qu.: 80.00 3rd Qu.: 90.00
## Max. :165.00 Max. :230.00 Max. :255.00 Max. :154.00
## special_defense speed color_1 color_2
## Min. : 20.00 Min. : 5.00 Length:718 Length:718
## 1st Qu.: 50.00 1st Qu.: 45.00 Class :character Class :character
## Median : 65.00 Median : 65.00 Mode :character Mode :character
## Mean : 69.09 Mean : 65.72
## 3rd Qu.: 85.00 3rd Qu.: 85.00
## Max. :230.00 Max. :160.00
## color_f egg_group_1 egg_group_2 url_image
## Length:718 Length:718 Length:718 Length:718
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## x y
## Min. :-49.152 Min. :-45.793
## 1st Qu.:-17.695 1st Qu.:-17.293
## Median : 0.705 Median : -0.628
## Mean : 0.000 Mean : 0.000
## 3rd Qu.: 15.905 3rd Qu.: 18.155
## Max. : 53.142 Max. : 46.593
library(dplyr)
## Warning: pacote 'dplyr' foi compilado no R versão 4.4.2
##
## 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(reactable)
df %>% group_by(type_1) %>% summarise(média=mean(height),
desvio_padrao=sd(height))
## # A tibble: 18 × 3
## type_1 média desvio_padrao
## <chr> <dbl> <dbl>
## 1 bug 8.60 4.93
## 2 dark 11.5 10.0
## 3 dragon 20.4 15.5
## 4 electric 8.94 5.31
## 5 fairy 8.35 7.09
## 6 fighting 11.7 4.62
## 7 fire 11.5 6.34
## 8 flying 11.7 5.77
## 9 ghost 11.6 8.85
## 10 grass 9.83 6.20
## 11 ground 12.1 7.75
## 12 ice 12.1 6.12
## 13 normal 9.80 6.17
## 14 poison 12.1 7.31
## 15 psychic 9.57 8.02
## 16 rock 13.4 13.4
## 17 steel 15.8 20.3
## 18 water 13.2 16.4
df %>% group_by(type_2) %>% summarise(mínimo = min(weight),
quartil1 = quantile(weight, probs=0.25),
mediana=median(weight),
quartil3 = quantile(weight, probs=0.75),
máximo=max(weight)) %>%
reactable()
df %>% group_by(type_1) %>% summarise(média_HE=round(mean(weight),1),
desvio_padrao_HE=round(sd(weight),1),
média_nota=round(mean(height),1),
desvio_padrao_nota=round(sd(height),1)) %>%
reactable()
A média e a mediana são utilizadas para analisar o comportamento de um conjunto de dados estatísticos e são medidas de tendência central, como podemos observar na tabela presente.
O desvio padrão é uma medida que mostra o quanto os dados de um conjunto variam em relação à média. Quanto menor o desvio padrão, mais próximos da média,sendo assim, os dados são mais precisos. Entretanto, um desvio padrão maior indica que os valores estão mais dispersos.
As tabelas apresentadas relatam os valores máximos e mínimos, assim como a média, mediana e o desvio padrão referentes a Variável quantitativa altura e variável qualitativa type_1.
library(ggplot2)
df %>%
ggplot(aes(x = type_1, y = attack)) +
geom_boxplot(fill = 'black') +
theme_minimal() +
theme(
plot.background = element_rect(fill = "lightgray")
) +
labs(
title = "Gráfico de Boxplot do ataque por tipo",
x = "Tipo",
y = "Ataque")
O gráfico abaixo ilustra as seguintes informações: No eixo x temos os tipos de pokemons e no eixo y temos os ataques referentes a cada espécie. Com essas variáveis, que estão apresentadas no gráfico, temos uma visualização clara em relação ao tipo e ataqued dos pokemons.
Observa-se que o pokemon tipo “rock” tem o maior ataque, acima de 150, seguido do “dragon”e “ground”. Em contrapartida temos o tipo “fairy”, “bug” e “psychic” encontrasse abaixo de 50.
Essa visualização permite identificar facilmente a diversidade dos poderes ofensivos entre os diferentes tipos de Pokémon. Essa informação é crucial durante as batalhas, pois auxilia na escolha das combinações mais eficazes para maximizar as chances de vitória.
plot(df$attack,df$speed, col="black",pch=19,
main = "Gráfico 2 - Diagrama de dispersão",
xlab = "Ataque",
ylab = "Velocidade")
abline(lsfit(df$attack,df$speed),
col="pink",lwd=5)
O gráfico de dispersão tem como função visualizar a relação entre duas
variáveis. No caso do gráfico abaixo temos no eixo x o ataque” e no eixo
y a “velocidade”.
Os pontos encontram-se fragmentados ao redor da linha de regressão. Existe uma relação entre entre as duas variáveis, mas não é perfeita. Observa-se que os valores estão concentrados no meio do diagrama, princpalmente entre os valores 50 a 100, no que tange o eixo x, sendo assim, entende-se que os pokemons, em sua maioria, possuem ataque moderado, com alguns possuindo um maior ataque, os valores próximos de 150 e outros com ataque abaixo da média, entre 0 e 50.
As informações apresentadas são relevantes para entender a diversidade de poderes ofensivos dos Pokémon. No entanto, nota-se que o aumento da velocidade não está diretamente correlacionado a um aumento significativo no ataque. Isso significa que a velocidade elevada pode não contribuir de forma substancial para a eficácia do ataque dos Pokémon. Essa informação pode ser valiosa para estrategistas de batalha, permitindo uma melhor combinação de Pokémon para maximizar suas chances de vitória.
cor(df$height, df$weight)
## [1] 0.6465813