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
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
load("C:/Users/Maria Carolina/Base_de_dados-master/df_pokemon.RData")
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 |
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()
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 |
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(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))
#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.