1º Passo - Carregar Base de Dados

Comandos Usados - load

Aqui carregamos a base de dados df, que possui 718 observações de 22 variavéis, composto por dados quantitativos discretos(números das estatisticas dos atributos) e dados qualitativos(tipos de pokemons, cores e ovo por grupo)

load("C:/Users/User/Desktop/Faculdade/Adm P/8 Periodo/Estatistica/Base_de_dados-master/Base_de_dados-master/df_pokemon.RData")

2º Passo - Inspecionar os dados

Comandos usados - str

Aqui nos podemos perceber que os dados usados estão corretos e enumerados correspondentes a natureza de seus dados.

str(df)
tibble [718 x 22] (S3: tbl_df/tbl/data.frame)
 $ id             : num [1:718] 1 2 3 4 5 6 7 8 9 10 ...
 $ pokemon        : chr [1:718] "bulbasaur" "ivysaur" "venusaur" "charmander" ...
 $ species_id     : int [1:718] 1 2 3 4 5 6 7 8 9 10 ...
 $ height         : int [1:718] 7 10 20 6 11 17 5 10 16 3 ...
 $ weight         : int [1:718] 69 130 1000 85 190 905 90 225 855 29 ...
 $ base_experience: int [1:718] 64 142 236 62 142 240 63 142 239 39 ...
 $ type_1         : chr [1:718] "grass" "grass" "grass" "fire" ...
 $ type_2         : chr [1:718] "poison" "poison" "poison" NA ...
 $ attack         : int [1:718] 49 62 82 52 64 84 48 63 83 30 ...
 $ defense        : int [1:718] 49 63 83 43 58 78 65 80 100 35 ...
 $ hp             : int [1:718] 45 60 80 39 58 78 44 59 79 45 ...
 $ special_attack : int [1:718] 65 80 100 60 80 109 50 65 85 20 ...
 $ special_defense: int [1:718] 65 80 100 50 65 85 64 80 105 20 ...
 $ speed          : int [1:718] 45 60 80 65 80 100 43 58 78 45 ...
 $ color_1        : chr [1:718] "#78C850" "#78C850" "#78C850" "#F08030" ...
 $ color_2        : chr [1:718] "#A040A0" "#A040A0" "#A040A0" NA ...
 $ color_f        : chr [1:718] "#81A763" "#81A763" "#81A763" "#F08030" ...
 $ egg_group_1    : chr [1:718] "monster" "monster" "monster" "monster" ...
 $ egg_group_2    : chr [1:718] "plant" "plant" "plant" "dragon" ...
 $ url_image      : chr [1:718] "1.png" "2.png" "3.png" "4.png" ...
 $ x              : num [1:718] 32.8 33.3 33.9 -24.4 -24.6 ...
 $ y              : num [1:718] 17.2 16.7 16.2 30.8 30.6 ...

3º Passo - Fazer um Summary dos atributos e gerar gráficos quantitativos

Comandos usados - summary, par e barplot

Defesa

Temos a tabela de summary e temos o histograma onde temos como perceber uma assimetria para direita e a presença de uma moda(valor 3), caracterizando o histograma como assimetrico para direita unimodal. E temos a presença 1 outlier.

# Defesa
summary(df$defense)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   5.00   50.00   65.00   70.67   85.00  230.00 
par(bg = "#FFBF00")
hist(df$defense,main = "Histograma de Defesa x Nº de Pokemons", col = "blue", labels = TRUE, ylim = c(0,250), xlim = c(0,250),xlab = "Valor de Defesa", ylab = "Número de Pokemons")

Defesa Especial

Temos a tabela de summary e nela percebemos que sua máxima é igual a de defesa. Percebemos também que ela é assimétrica para direita e unimodal(Valor 1). Temos também a presença de 2 outliers.

# Defesa Especial
summary(df$special_defense)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  20.00   50.00   65.00   69.09   85.00  230.00 
par(bg = "#FFBF00")
hist(df$special_defense,main = "Histograma de Defesa Especial x Nº de Pokemons", col = "sky blue", labels = TRUE, ylim = c(0,250), xlim = c(0,275), xlab = "Valor de Defesa Especial", ylab = "Número de Pokemons")

Ataque

Temos a tabela de summary de ataque e percebemos que ele possui simetria, é amodal e não possui outlier

#Ataque
summary(df$attack)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   5.00   53.00   73.00   74.85   95.00  165.00 
par(bg = "#FFBF00")
hist(df$attack,main = "Historgrama de Ataque x Nº de Pokemons", col = "red", labels = TRUE, ylim = c(0,250), xlim = c(0,200), xlab = "Valor do Ataque", ylab = "Número de Pokemons")

Ataque Especial

Temos o summary e percebemos que existe assimetria para direita, possui duas modas, ou seja, é multimodal(valores 22 e 66) e não possui outlier.

#Ataque Especial
summary(df$special_attack)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  10.00   45.00   65.00   68.47   90.00  154.00 
par(bg = "#FFBF00")
hist(df$special_attack,main = "Histograma de Ataque Especial x Nº de Pokemons", col = "dark red", labels = TRUE, ylim = c(0,250), xlim = c(0,200), xlab = "Valor de Ataque Especial", ylab = "Número de Pokemons")

Experiência Base

Temos no summary um destaque de maior máxima dentro todos os histogramas e percebmos que existe uma extrema assimetria para direita, é amodal e possui 1 outlier.

#Expêriencia Base
summary(df$base_experience)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  36.00   65.25  147.00  141.55  177.00  608.00 
par(bg = "#FFBF00")
hist(df$base_experience,main = "Histograma de XP Base x Nº de Pokemons", col = "yellow", labels = TRUE, ylim = c(0,250), xlim = c(0,675), xlab = "Valor de XP Base", ylab = "Número de Pokemons")

Passo Bônus - Gerar Gráfico de informações qualitativas e tabela

Comandos utilizados - table, par, rainbow e barplot

Neste gráfico qualitativo, nós temos os tipos de pokemons, e podemos notar que o tipo mais populoso de pokemons são do grupo “W”, que corresponde a Water, temos aqui uma ocorrência de uma multimoda, com 3 modas presentes(23, 28 e 46).

table(df$type_1)

     bug     dark   dragon electric    fairy fighting     fire   flying 
      63       28       24       36       17       25       46        3 
   ghost    grass   ground      ice   normal   poison  psychic     rock 
      23       66       30       23       93       28       46       40 
   steel    water 
      22      105 
par(bg = "#FFBF00")
par(cex = 0.6)
COL <- rainbow(18)
x <- c(63, 28, 24, 36, 17, 25, 46, 3, 23, 66, 30, 23, 93, 28, 46, 40, 22, 105)
tipo <- c("B", "D", "Dr", "E", "Fy", "Ft", "F", "Fl", "Gh", "Gr", "Gn", "I", "N", "Po", "Pi", "R", "S", "W")
barplot(x, main = "Histograma de Tipos de Pokemons", col = COL, names.arg = tipo, horiz = TRUE, ylim = c(0, 21), xlim = c(0, 140), xlab = "Tipos", ylab = "Frequência")

Passo Final - Conclusões

É possível perceber também que o maior valor de máxima foi de 608.00(Experiência Base), menor valor de máxima foi de 154.00(Ataque Especial), o Maior valor de mínima foi de 36.00(Experiência Base) e o menor valor de mínima é de 5.00(Defesa e Ataque), o valor da maior média é de 141.55(Experiência Base), a menor média é de 68.47(Ataque Especial), O Maior 1º Quartil é de 65.25(Experiência Base), o Menor 1º Quartil é de 45.00(Ataque Especial), o maior 3º Quartil foi de 177.00(Experiência Base) e o menor 3º Quartil foi de 85.00(Defesa e Defesa Especial), e por último temos a maior mediana que foi de 147.00(Experiência Base) e a menor mediana foi de 65.00(Defesa, Defesa Especial e Ataque).

Podemos concluir através destes dados de summary destacados que os pokemons tem grandes capacidades de evoluir com facilidade já que os valores de summary deles são que possuem os indices e valores mais altos, o que faz completo sentido estatistico para o Jogo de Pokemon pois os mesmos precisam subir de nível para evoluir e por consequência mais fortes. Alguns valores de Defesa e Defesa Especial também são uns dos mais altos e também faz sentido em termos de nivelamento de jogo já que frequentemente jogadores iniciantes tendem a morrer com facilidade e isso também pode ser corroborado com os dados do summary para Ataque e Ataque Especial são um dos mais baixos, para evitar Pokemons com ataques muito fortes.

Podemos concluir com os dados que a importância de entender e analisar grupos de dados quantitativos é impresncindível para analisar aonde podem ser feita melhorias na programação de atributos dos pokemons, e por consequência tornar o jogo mais equilibrado.