Wrap Up

Introdução

Parabéns, você já é capaz de importar dados, manipulá-los e retirar alguns insights de gráficos e tabelas. Contudo, vimos isso em aulas separadas e talvez você não se sinta confiante para realizar uma análise do começo ao fim. Nesta aula, o objetivo é justamente capacitá-la o ciclo de ciência de dados.

Parte 1 - A pergunta

Toda análise é motivada por uma pergunta. Essa pergunta pode ter origem uma origem teórica, como normalmente vemos na academia, ou prática, como normalmente vemos em empresas. Independente da origem, uma vez que formulemos a pergunta, vamos para o processo de importar os dados para o nosso ambiente e estruturá-los.

plot of chunk unnamed-chunk-1

Qual será o desafio de hoje? Eu quero que vocês imaginem como parte integrantes da parte técnica de um time de futebol. Hoje, vocês são as cientistas de dados responsáveis por criar o melhor time! Para isso iremos utilizar um banco de dados do FIFA 19 para os jogadores masculinas (infelizmente não achei o feminino…).

library(tidyverse)
data <- readr::read_csv('data/fifa19.zip')

Referências:

Como vamos atacar o problema?

Nesse exercício, vamos montar a seleção brasileira de futebol seguindo a formação 4 - 1 - 4 - 1 utilizada pelo Tite na Copa do Mundo de 2018. Isso significa que iremos precisar de 4 zagueiros, 1 volante, 2 meias, 2 pontas e 1 atacante. Agora, quais as habilidades necessárias em cada uma dessas posições?

  • Goleiro: habilidades de goleiro (dããã)

  • Defesa: habilidade de defesa (dããã)

  • Volante: decisão, passes curtos e longos.

  • Meias: finalização e passes curtos.

  • Pontas: resistência, finalização com os pés e passes longos.

  • Atacante: resistência, finalização com cabeça e com os pés.

A partir dessas habilidades podemos criar métricas para medir o quão bom um jogador é para uma determinada posição.

Quais variáveis vamos utilizar?

glimpse(data)
  • Goleiro:

    • Variáveis: GKReflexes e GKPositioning.
  • Defesa:

    • Variáveis: Marking e Interceptions.
  • Volante:

    • Variáveis: LongPassing e Crossing.
  • Meias:

    • Variáveis: ShortPassing e Finishing.
  • Pontas:

    • Variáveis: Finishing, Crossing.
  • Atacante:

    • Variáveis: Finishing, Volleys.

Manipuando Dados

Filtrando para Brasileiros

data <- data %>% 
  filter(Nationality == 'Brazil')

Criando nossas métricas:

data <-  data %>% 
  mutate(metrica_goleiro = GKHandling * GKReflexes,
         metrica_defesa  = Marking * Interceptions,
         metrica_volante = LongPassing * Crossing,
         metrica_meia    = ShortPassing * Finishing,
         metrica_pontas  = Finishing * Crossing,
         metrica_atacante = Finishing * Volleys)

Análise Exploratória

Goleiros

ggplot(data, mapping = aes(x = metrica_goleiro)) +
  geom_histogram()

Mas o que raios aconteceu? É de se esperar que nem todo jogador tenha habilidade de goleiro. Logo para ter uma noção da distribuição dos goleiros nos limitar àqueles que jogam nessa posição.

data %>% 
  filter(Position == 'GK') %>% 
  ggplot(data, mapping = aes(x = metrica_goleiro)) +
  geom_histogram()
data %>% 
  ggplot(mapping = aes(x = GKReflexes, y = GKPositioning)) +
  geom_point()
data %>% 
  select(Name, metrica_goleiro) %>% 
  arrange(desc(metrica_goleiro)) %>% 
  head(10)

Zagueiros

data %>% 
  ggplot(mapping = aes(x = Marking, y = Interceptions)) + 
  geom_point()
ggplot(data, mapping = aes(x = metrica_defesa)) + 
  geom_histogram()
data %>% 
  select(Name, metrica_defesa) %>% 
  arrange(desc(metrica_defesa)) %>% 
  head(10)

Volantes

data %>% 
  ggplot(mapping = aes(x = LongPassing, y = Crossing)) +
  geom_point()
ggplot(data, mapping = aes(x = metrica_volante)) +
  geom_histogram()
data %>% 
  select(Name, metrica_volante) %>% 
  arrange(desc(metrica_volante)) %>% 
  head(10)

Meias

data %>% 
  ggplot(mapping = aes(x = ShortPassing, y =  Finishing)) + 
  geom_point()
ggplot(data, mapping = aes(x = metrica_meia)) +
  geom_histogram()
data %>% 
  select(Name, metrica_meia) %>% 
  arrange(desc(metrica_meia)) %>% 
  head(10)

Pontas

data %>% 
  ggplot(mapping = aes(x = Finishing, y = Crossing)) + 
  geom_point()
ggplot(data, mapping = aes(x = metrica_pontas)) +
  geom_histogram()
data %>% 
  select(Name, metrica_pontas) %>% 
  arrange(desc(metrica_pontas)) %>% 
  head(10)

Atacantes

data %>% 
  ggplot(mapping = aes(x = Finishing, y = Volleys)) +
  geom_point()
ggplot(data, mapping = aes(x = metrica_atacante)) +
  geom_histogram()
data %>% 
  select(Name, metrica_atacante) %>% 
  arrange(desc(metrica_atacante)) %>% 
  head(10)

Selecionando nossos Jogadores

goleiro <- data %>%
  arrange(desc(metrica_goleiro)) %>% 
  head(1)

zagueiros <- data %>%
  arrange(desc(metrica_defesa)) %>% 
  head(4)

volante <- data %>%
  arrange(desc(metrica_volante)) %>% 
  head(1)
  
meias <- data %>%
  arrange(desc(metrica_meia)) %>% 
  head(2)
  
pontas <- data %>%
  arrange(desc(metrica_pontas)) %>% 
  head(2)
  
atacante <- data %>%
  arrange(desc(metrica_atacante)) %>% 
  head(1)


nosso_time <- goleiro %>% 
  bind_rows(zagueiros, 
            volante,
            meias,
            pontas,
            atacante)
nosso_time %>% 
  select(Name)

Exercícios

  1. Imagine que o seu time precisa enviar olheiros para alguns países atrás dos seguintes tipos de jogadores: zagueiros e atacantes. Quais são os três melhores países para cada uma dessas duas posições?

  2. O seu clube está preocupado com a evolução do rendimento dos próprios jogadores ao longo dos anos. Faça um estudo a partir do Overrall para as seguintes posições (Position): goleiro (GK), zagueiro central (CB), ala esquerda (LW).