title: “ATIVIDADE 2” author: “Maria Carolina Pereira Soares” date: “2024-11-23” output: html_document —code_folding: show number_sections: yes toc: yes toc_float: collapsed: yes smooth_scroll: yes

carregar pacotes adicionais

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

Carregar base de dados pokemon

load("C:/Users/Maria Carolina/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

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

library(reactable)
df %>% group_by(type_1) %>% summarise(média=mean(defense),
                                       desvio_padrao=sd(defense))
## # A tibble: 18 × 3
##    type_1   média desvio_padrao
##    <chr>    <dbl>         <dbl>
##  1 bug       67.7          32.2
##  2 dark      67.9          23.8
##  3 dragon    79.1          22.6
##  4 electric  59.1          20.4
##  5 fairy     65.7          19.0
##  6 fighting  64.3          18.3
##  7 fire      63.7          21.3
##  8 flying    61.7          23.6
##  9 ghost     76.8          34.8
## 10 grass     69.4          24.0
## 11 ground    82.2          31.9
## 12 ice       71.0          35.1
## 13 normal    57.8          22.3
## 14 poison    68.8          21.1
## 15 psychic   65.2          26.4
## 16 rock      98.5          36.4
## 17 steel    119.           33.3
## 18 water     70.5          25.6
df %>% group_by(type_1) %>% summarise(mínimo = min(defense),
                                       quartil1 = quantile(defense, probs=0.25),
                                       mediana=median(defense),
                                       quartil3 = quantile(defense, probs=0.75),
                                       máximo=max(defense)) %>% 
  reactable()

Média e desvio padrão

df %>% select(type_1,defense) %>% 
  group_by(type_1) %>% 
  summarise(média=mean(defense),
            desvio_padrao=sd(defense)) %>% 
  flextable()

type_1

média

desvio_padrao

bug

67.69841

32.22333

dark

67.92857

23.79687

dragon

79.12500

22.61841

electric

59.08333

20.35313

fairy

65.70588

18.97948

fighting

64.28000

18.32012

fire

63.69565

21.34673

flying

61.66667

23.62908

ghost

76.82609

34.80028

grass

69.36364

23.95549

ground

82.16667

31.89323

ice

71.04348

35.11084

normal

57.79570

22.34928

poison

68.82143

21.06613

psychic

65.15217

26.43732

rock

98.50000

36.42132

steel

119.40909

33.28185

water

70.48571

25.57986

Mediana

df %>% select(type_1,defense) %>% 
  group_by(type_1) %>% 
  summarise(mínimo=min(defense),
            quartil1 = quantile(defense,0.25),
            mediana= median(defense),
            quartil3= quantile(defense,0.75),
            maximo=max(defense)) %>% 
  flextable()

type_1

mínimo

quartil1

mediana

quartil3

maximo

bug

30

47.50

55.0

85.00

230

dark

30

50.00

67.5

88.50

115

dragon

35

63.75

85.0

91.25

121

electric

15

40.00

58.5

70.00

115

fairy

28

50.00

66.0

75.00

95

fighting

30

53.00

62.0

78.00

95

fire

37

45.75

59.0

71.75

140

flying

35

52.50

70.0

75.00

80

ghost

30

51.50

65.0

99.00

145

grass

30

50.00

65.0

83.00

131

ground

25

51.25

82.0

108.75

140

ice

15

47.50

70.0

85.00

184

normal

5

43.00

60.0

70.00

120

poison

35

52.75

67.0

82.25

120

psychic

15

45.75

62.5

75.75

130

rock

40

69.25

98.5

118.25

200

steel

70

96.25

115.5

140.00

200

water

20

52.00

68.0

85.00

180

#Para a análise dos dados e comparação entre os termos, utilizei os dados de minha escolha , ‘’tipo 1’’ (qualitativo) e ‘’defesa’’ (quantitativo), juntamente configurando com os códigos que foram passados em sala de aula. Observamos primeiramente, que o gráfico Defesa X Tipo de pókemon temos o ‘’Flying’’ com a maior mediana de 70 pontos; ‘’Rock’’ com o maior desvio padrão com 36.42132 pontos; e por fim, ‘’Steel’’ com a maior média de 119.40909 pontos. Assim, com a menor média, mediana e desvio padrão, respectivamente temos: ‘’Normal’’ com 57.79570, ‘’Bug’’ com 55 pontos e ‘’Fighting’’ com 18.32012.

Boxplot

boxplot(df$defense ~ df$type_1,
        col=c("#e6f029",'#f0b'),
        main="Boxplot: Defesa x Tipo de Pokémon",
        ylab = "Defesa",
        xlab="Categoria")

# Diagrama de dispersão

plot(df$attack, df$speed, 
     col ="#82f029", 
     pch = 19,
     main = "Gráfico 2 - Diagrama de dispersão",
     xlab = "Ataque",
     ylab = "Velocidade")

abline(lsfit(df$attack, df$speed), 
       col = "#295af0", 
       lwd = 4)

# Correlação

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

corrplot(M, method="color")

col3 <- colorRampPalette(c("#8c29f0", "#8408a6", "#d225e6")) 
corrplot(M, order="hclust", addrect=2, col=col3(20))

Intepretação dos dados obtidos nos gráficos

#O primeiro passo para realizar a Atividade 2 foi baixar os pacotes adicionais e acessar a base de dados pedida pelo professor: “df-pokemon.Rdata”. E analisando separadamente podemos analisar que no diagrama de dispersão que aqueles pókemons com velocidade mediana são os de ataque mais forte e a maioria deles se concentram entre 50 e 100 de força de ataque, não há muitas variações drásticas, já que o centro do gráfico se preenche praticamente no mesmo espaçamento. Analisando o boxplot, temos Categoria X Defesa , e observa-se que cada caixa representa a distribuição da defesa para um tipo de Pokémon e quais tipos possuem defesas mais altas ou mais baixas em média. Por exemplo, tipos como “Aço” tendem a ter defesas mais altas, enquanto tipos como “Psíquico” podem apresentar defesas mais baixas, com maior variabilidade em alguns tipos.Por fim, o gráfico de correlação mostra as relações entre diferentes características dos Pokémons e pode ser útil para entender como interagem entre si.O visual gráfico ajuda a identificar variáveis correlacionadas, possíveis agrupamentos de características semelhantes e variáveis independentes, o que pode ser importante para futuras análises ou modelagens, como a previsão de desempenho de combate com base em atributos físicos ou especiais.