load("C:/Users/cardi/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
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 ...
Com essa verificação de dados, percebe-se que todos os dados correspondem a suas respectivas naturezas (qualitativo ou quantitativo)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(flextable)
df%>%select(weight,type_1)%>%group_by(type_1)%>%summarise(media=round(mean(weight),2),desvio_padrao=round(sd(weight),2),mediana=median(weight))%>%flextable()%>%theme_vader()
type_1 | media | desvio_padrao | mediana |
bug | 292.51 | 400.29 | 170.0 |
dark | 398.50 | 449.22 | 290.0 |
dragon | 1,149.12 | 1,131.44 | 775.0 |
electric | 374.47 | 459.36 | 227.5 |
fairy | 249.24 | 513.26 | 75.0 |
fighting | 549.24 | 533.84 | 400.0 |
fire | 611.28 | 773.29 | 325.0 |
flying | 520.00 | 396.61 | 630.0 |
ghost | 570.09 | 1,546.95 | 125.0 |
grass | 381.09 | 542.15 | 156.5 |
ground | 1,047.27 | 1,812.77 | 437.5 |
ice | 1,032.61 | 1,237.88 | 554.0 |
normal | 431.65 | 731.63 | 244.0 |
poison | 366.21 | 287.67 | 300.0 |
psychic | 300.54 | 391.57 | 165.0 |
rock | 1,030.58 | 955.47 | 643.0 |
steel | 1,569.00 | 1,881.43 | 707.5 |
water | 535.76 | 725.39 | 280.0 |
-Em um primeiro momento,é possível concluir que há uma significativa disparidade de dados em quase todas as tipagens de pokemon em relação ao peso
df%>%select(weight,type_1)%>%group_by(type_1)%>%summarise(minimo=min(weight),primeiro_quartil=quantile(weight,probs=0.25),mediana=median(weight),terceiro_quartil=quantile(weight,probs=0.75),maximo=max(weight))%>%flextable()%>%theme_zebra()
type_1 | minimo | primeiro_quartil | mediana | terceiro_quartil | maximo |
bug | 6 | 62.00 | 170.0 | 330.00 | 2,005 |
dark | 21 | 116.00 | 290.0 | 470.00 | 2,030 |
dragon | 28 | 205.75 | 775.0 | 1,645.00 | 3,450 |
electric | 3 | 60.00 | 227.5 | 544.50 | 1,800 |
fairy | 1 | 30.00 | 75.0 | 235.00 | 2,150 |
fighting | 80 | 210.00 | 400.0 | 555.00 | 2,538 |
fire | 25 | 190.00 | 325.0 | 766.25 | 4,300 |
flying | 80 | 355.00 | 630.0 | 740.00 | 850 |
ghost | 1 | 27.00 | 125.0 | 374.00 | 7,500 |
grass | 5 | 59.50 | 156.5 | 511.00 | 3,100 |
ground | 8 | 168.50 | 437.5 | 1,050.75 | 9,500 |
ice | 57 | 213.50 | 554.0 | 1,493.00 | 5,050 |
normal | 8 | 65.00 | 244.0 | 410.00 | 4,600 |
poison | 10 | 101.00 | 300.0 | 603.75 | 1,073 |
psychic | 3 | 50.00 | 165.0 | 470.00 | 2,160 |
rock | 57 | 258.00 | 643.0 | 1,575.00 | 3,400 |
steel | 11 | 283.75 | 707.5 | 2,043.75 | 6,830 |
water | 14 | 109.00 | 280.0 | 650.00 | 3,980 |
boxplot(weight~type_1,data = df,col=c("red","green"),main="Gráfico Boxplot da relação tipo de pokemon e peso")
Com este gráfico boxplot, que foi desenvolvido para facilitar a análise entre varíaveis quantitativas e qualitativas, é possível visualizar informações importantes para a análise desses dados e seus respectivos comportamentos em relção a fatores como média, mediana e desvio padrão. Assim, fica fácil determinar onde a concentração de dados quantitativos em relação a cada varíavel qualitativa, além de evidenciar a concentração também é possível verificar o quão alto é o grau da disparidade entre os dados analisados, inclusive ajudando até mesmo a identificar outliers,que representa um dado que é muito destoante em relação aos outros(no gráfico eles aparecem na forma da bolinha branca). Portanto, olhando o gráfico perceb-se um grau considerável de disparidade de dados em quase todas as variáveis qualitativas, inclusive todas essa variáveis possuem outliers. Sendo feita uma análise, fica perceptível que os pokemon do tipo metal abrigam os monstrinhos com maior peso, tendo o fator “máximo” como o maior do gráfico. Entretanto, em se tratando da média do peso de cada tipagem, os do tipo dragão saem na vantagem com a maior média de peso. Por último, falando agora dos tipos com os pesos mais leves tem como destaque três tipagens:inseto, normal e fada. Onde nos três citados, existe uma grande concentração dos dados próximo a zero. Contudo, se considerarmos o máximo dos três, os do tipo normal ficam mais na vantagem, inclusive é interessante pontuar que a tipagem fada é a que possui a menor disparidade de dados, seguida pela tipagem inseto, agora em se tratando do tipo normal, há uma disparidade maior fazendo esta se sobresair. Inclusive, vale ressaltar que os pokemon do tipo fada possuem a menor média de peso.