load("C:/Users/clara/Desktop/Base_de_dados-master/df_pokemon.RData")
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(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(flextable)
library(dplyr)
library(reactable)
df %>% group_by(pokemon) %>% summarise(média=mean(height),
desvio_padrao=sd(height))
## # A tibble: 718 × 3
## pokemon média desvio_padrao
## <chr> <dbl> <dbl>
## 1 abomasnow 22 NA
## 2 abra 9 NA
## 3 absol 12 NA
## 4 accelgor 8 NA
## 5 aegislash-shield 17 NA
## 6 aerodactyl 18 NA
## 7 aggron 21 NA
## 8 aipom 8 NA
## 9 alakazam 15 NA
## 10 alomomola 12 NA
## # ℹ 708 more rows
df %>% group_by(pokemon) %>% summarise(mínimo = min(height),
quartil1 = quantile(height, probs=0.25),
mediana=median(height),
quartil3 = quantile(height, probs=0.75),
máximo=max(height)) %>%
reactable()
df %>% select(type_1,attack) %>%
group_by(type_1) %>%
summarise(média=mean(attack),
desvio_padrao=sd(attack)) %>%
flextable()
type_1 | média | desvio_padrao |
|---|---|---|
bug | 65.22222 | 30.74161 |
dark | 86.25000 | 24.33657 |
dragon | 102.62500 | 29.64253 |
electric | 67.77778 | 25.15223 |
fairy | 61.52941 | 29.75130 |
fighting | 94.72000 | 27.66394 |
fire | 81.60870 | 25.29776 |
flying | 71.66667 | 42.52450 |
ghost | 66.65217 | 25.28674 |
grass | 70.90909 | 24.07790 |
ground | 91.30000 | 28.62498 |
ice | 70.69565 | 25.93600 |
normal | 71.73118 | 29.30096 |
poison | 74.67857 | 19.63001 |
psychic | 60.21739 | 30.76933 |
rock | 88.17500 | 32.57566 |
steel | 83.54545 | 24.60687 |
water | 71.04762 | 25.03013 |
df %>% select(type_1,attack) %>%
group_by(type_1) %>%
summarise(mínimo=min(attack),
quartil1 = quantile(attack,0.25),
mediana= median(attack),
quartil3= quantile(attack,0.75),
maximo=max(attack)) %>%
flextable()
type_1 | mínimo | quartil1 | mediana | quartil3 | maximo |
|---|---|---|---|---|---|
bug | 10 | 42.50 | 63.0 | 90.00 | 135 |
dark | 50 | 65.00 | 86.5 | 97.50 | 131 |
dragon | 50 | 78.75 | 97.5 | 130.00 | 150 |
electric | 30 | 50.00 | 61.5 | 85.00 | 123 |
fairy | 20 | 45.00 | 52.0 | 72.00 | 131 |
fighting | 35 | 80.00 | 100.0 | 120.00 | 140 |
fire | 40 | 60.75 | 82.5 | 97.75 | 140 |
flying | 30 | 50.00 | 70.0 | 92.50 | 115 |
ghost | 30 | 50.00 | 65.0 | 85.00 | 115 |
grass | 27 | 53.50 | 68.0 | 89.75 | 130 |
ground | 40 | 72.00 | 83.5 | 115.75 | 150 |
ice | 30 | 50.00 | 65.0 | 82.50 | 130 |
normal | 5 | 55.00 | 70.0 | 85.00 | 160 |
poison | 43 | 60.00 | 74.0 | 90.50 | 106 |
psychic | 20 | 36.25 | 52.5 | 74.50 | 150 |
rock | 40 | 58.00 | 86.5 | 112.75 | 165 |
steel | 24 | 75.00 | 82.5 | 97.50 | 135 |
water | 10 | 52.00 | 70.0 | 90.00 | 130 |
df %>%
select(attack,type_1) %>%
group_by(type_1) %>%
summarise(média=mean(attack),
mediana=median(attack),
desvio_padrão=sd(attack)) %>%
flextable() %>% theme_tron()
type_1 | média | mediana | desvio_padrão |
|---|---|---|---|
bug | 65.22222 | 63.0 | 30.74161 |
dark | 86.25000 | 86.5 | 24.33657 |
dragon | 102.62500 | 97.5 | 29.64253 |
electric | 67.77778 | 61.5 | 25.15223 |
fairy | 61.52941 | 52.0 | 29.75130 |
fighting | 94.72000 | 100.0 | 27.66394 |
fire | 81.60870 | 82.5 | 25.29776 |
flying | 71.66667 | 70.0 | 42.52450 |
ghost | 66.65217 | 65.0 | 25.28674 |
grass | 70.90909 | 68.0 | 24.07790 |
ground | 91.30000 | 83.5 | 28.62498 |
ice | 70.69565 | 65.0 | 25.93600 |
normal | 71.73118 | 70.0 | 29.30096 |
poison | 74.67857 | 74.0 | 19.63001 |
psychic | 60.21739 | 52.5 | 30.76933 |
rock | 88.17500 | 86.5 | 32.57566 |
steel | 83.54545 | 82.5 | 24.60687 |
water | 71.04762 | 70.0 | 25.03013 |
boxplot(df$attack ~ df$type_1,
col=c("#a87e7e","#80d15a","#7d38d1", "#079beb", "#eb073c","#540819", "#b2bdd1","#12de90","#4b07eb","#030a17","#31402b","#173161","#28fac9","#8a2fa8","#3f354a","#2d484d","#9e6f24","#59492e","#5f7864"),
main="Gráfico 1 - boxplot do ataque por tipo")
plot(df$attack, df$base_experience, pch=20,col="#691c11",
main="Diagrama de Disperção", xlab = "Ataque", ylab = "Base de Experiência")
abline(lsfit(df$attack, df$base_experience),col="#676911",lwd=5)
library(corrplot)
M <- cor(df[,c("base_experience","attack", "defense","hp","special_attack","special_defense","speed")])
col3 <- colorRampPalette(c("#a60596", "#ab5af2", "#07ebc8"))
corrplot(M, order="hclust", addrect=2, col=col3(20))
R:Ao analisar os dados de ataques Pokémon, observamos diferenças notáveis entre os tipos. O objetivo deste estudo é identificar padrões e tendências nesses valores. A distribuição dos valores de ataque revela que a média e a mediana raramente coincidem, indicando uma distribuição assimétrica. O tipo Dragão apresenta o poder de ataque médio mais alto, enquanto o tipo Psíquico possui o poder de ataque médio mais baixo. Além disso, os tipos voadores mostram a maior variação nos valores de ataque.
O boxplot reforça a grande disparidade no poder de ataque entre os tipos, com o tipo Rock apresentando os valores mais altos e o tipo Bug os mais baixos. A análise também revela uma forte correlação positiva entre o poder de ataque e a base de experiência, sugerindo que Pokémon mais fortes geralmente exigem mais treinamento para evoluir. Observa-se ainda uma correlação positiva entre ataque e defesa, e uma correlação negativa entre velocidade e defesa.
Em resumo, a análise dos dados de ataque Pokémon evidencia grandes diferenças entre os tipos. O tipo Dragão se destaca pelo alto poder de ataque, enquanto outros tipos apresentam características variadas. A correlação positiva entre poder de ataque e pontos de experiência sugere que Pokémon mais poderosos demandam mais treinamento. Para estudos futuros, seria interessante investigar o impacto de fatores como spawns de Pokémon, combinações de tipos e habilidades especiais nas estatísticas de ataque.