1 Carregando base de dados

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)

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

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()

3 Média e desvio padrão

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

4 Mediana

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

5 Mostrando tabela da base de dados

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

6 Boxplot

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")

7 Diagrama de dispersão

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)

8 Correlação

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))

9 Intepretação dos dados obtidos nos gráficos

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.