Introdução

Este post apresenta os resultados da atividade 7 da disciplina Estatística aplicada à Ciências Humanas em que foram utilizados os recursos para:

  • carregar uma BD no formato R;

  • efetuar cruzamento de variável qualitativa e quantitativa;

  • efetuar cálculos estatísticos a partir desse cruzamento;

  • criar e formatar tabela a partir desse cruzamento; e

  • elaborar um gráfico do tipo boxplot a partir desse cruzamento.

Fases da Atividade

Carregamento das bibliotecas e da BD (em R)

Para essa primeira parte da Atividade, a BD carregada e utilizada na atividade foi a seguinte:

#---------
#Passo 1 - Carregamento das bibliotecas e da BD
#---------
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) 
library(reactable) 
library(RColorBrewer) 
load("D:/Curso Adm Publica/Semestre 8/Estatistica/Base_de_dados-master/df_pokemon.RData")
head(df)
# A tibble: 6 x 22
     id pokemon    species_id height weight base_experience type_1 type_2 attack
  <dbl> <chr>           <int>  <int>  <int>           <int> <chr>  <chr>   <int>
1     1 bulbasaur           1      7     69              64 grass  poison     49
2     2 ivysaur             2     10    130             142 grass  poison     62
3     3 venusaur            3     20   1000             236 grass  poison     82
4     4 charmander          4      6     85              62 fire   <NA>       52
5     5 charmeleon          5     11    190             142 fire   <NA>       64
6     6 charizard           6     17    905             240 fire   flying     84
# ... with 13 more variables: defense <int>, hp <int>, special_attack <int>,
#   special_defense <int>, speed <int>, color_1 <chr>, color_2 <chr>,
#   color_f <chr>, egg_group_1 <chr>, egg_group_2 <chr>, url_image <chr>,
#   x <dbl>, y <dbl>

Cruzamento de variáveis

Foi realizado o cruzamento da variável qualitativa egg_group_1 com a variável quantitativa speed da BD e, utilizando-se o operador pipe, foi efetuado um resumo estatístico do conjunto de dados agrupados por egg_group_1, calculando-se a média, a mediana e o desvio padrão para cada conjunto de grupamento. As informações obtidas foram dispotas em uma tabela apresentada a seguir:

Tabela 1 - Resumo estatístico da variável velocidade dos pokemons, agrupados por egg_group_1.

#---------
#Passo 2 - Cruzamento de variável quali e quanti, com resumo
#          estatístico - média, mediana e desvio padrão 
#---------
ft1 <- df %>% select(egg_group_1,speed) %>% 
  group_by(egg_group_1) %>%
  summarise(media.vel=round(mean(speed),2),
            mediana=round(median(speed),2),
            des.pad_vel=round(sd(speed),2),
            quantidade=n()) %>%
  data.frame() %>% flextable()   

ft1 <- bg(ft1, bg = "wheat", part = "header")
ft1

Seleção de grupos

A partir dos valores apresentados na tabela 1, verificou-se que existe uma grande quantidade de grupos (egg_group_1) de pokemons e que o grupo ditto conta com apenas um representante. Em função desses fatos, optou-se por efetuar uma filtragem de dados, selecionando-se somente os grupos que contam com mais de 60 representantes para confeccionar um gráfico tipo boxplot, com a finalidade da vizualização desse gráfico não ficar muito poluída.

Dessa forma, obteve-se uma nova tabela (Tabela 2), considerando-se o mesmo agrupamento da Tabela 1.

Tabela 2 - Resumo estatístico da variável velocidade dos pokemons, agrupados por egg_group_1, após seleção de grupos.

#---------
#Passo 3 - Filtragem de dados para novo cruzamento, com resumo
#          estatístico - média, mediana e desvio padrão 
#---------
ft2 <- df %>%  filter(egg_group_1=="bug" | egg_group_1=="ground" | 
                        egg_group_1=="monster" | egg_group_1=="no-eggs" |
                        egg_group_1=="water1") %>%
  select(egg_group_1,speed)
 
ft3 <- ft2 %>%  group_by(egg_group_1) %>%
  summarise(media.vel=round(mean(speed),2),
            mediana=round(median(speed),2),
            des.pad_vel=round(sd(speed),2),
            quantidade=n()) %>%
  data.frame() %>% flextable()   

ft3 <- bg(ft3, bg = "wheat", part = "header")
ft3

Criação do boxplot

Finalmente, foi criado um gráfico tipo boxplot, utilizando-se o conjunto de dados que foi filtrado e serviu de base para a confecção da Tabela 2, para a velocidade dos pokemons, agrupados pela variável egg_group_1, conforme apresentado a seguir:

#-------------------------------------------------
# Passo 5 -  criação e visualizacao do boxplot
#-------------------------------------------------
cor_dark <- brewer.pal(5,"Pastel1")

boxplot(speed~egg_group_1,data=ft2, 
        main="Gráfico 1 - Velocidade dos pokemons por egg_group",
        ylim = c(0, 200), ylab = "Velocidade", col=cor_dark)

Interpretação dos resultados

De acordo com os valores apresentados na Tabela 2, em que se observam a média e o desvio padrão da velocidade de pokemon, para cada um dos grupos considerados, após a filtragem dos dados, verifica-se que o grupo no-eggs possui a maior velocidade média, de 81,64, com um desvio padrão de 32,02, denotando uma alta variabilidade nos valores da velocidade de pokemon para esse grupo.

Aliás, praticamente todos os grupos de pokemon possuem uma variabilidade considerável para a velocidade, dados os valores da média de velocidade de cada grupo com seus respectivos desvios padrão.

Já em relação ao boxplot originado, verifica-se que:

  • os grupos bug, monster e water1 possuem outliers;

  • os grupos ground e no-eggs apresentam certa simetria, enquanto os grupos bug, monster e water1 apresentam leve assimetria; e

  • os grupos monster e water1 apresentam uma menor dispersão de dados para velocidade, enquanto os grupos bug, ground e no-eggs apresentam uma maior dispersão para tais dados.

Todas essas considerações confirmam a considerável variabilidade para as velocidades dos pokemons, para cada grupo considerado.