Análise Exploratória LBFF 8

Documento

Este documento é um esforço inicial utilizando dados do evento Liga Brasileira de Free Fire (LBFF), na temporada 8, série A, para possíveis representações e contribuições com o cenário.

Outros dados poderão ser incorporados e posteriores análises, também, poderão ser feitas.

Code e Ambiente

Para desenvolvimento, foi utilizado linguagem de programação R dentro do framework Quarto, do RStudio. Eventuais pacotes, também, foram utilizados para suprir demandas.

Autor

O presente documento foi desenvolvido por Brenner Silva (@brennerbiasi), vice líder da Delta Field E-sports.

Análise 1

A análise 1 é um panorama geral sobre o resultado final da etapa classificatória da LBFF utilizando apenas os dados disponibilidados no portal ffesportsbr.

Pacotes

Code
library(pacman)
pacman::p_load(readxl, tidyverse, plotly, reshape2, cowplot)

Carregando os dados

Code
# Fase de pontos corridos
lbff8_f1 <- read_excel("lbff8.xlsx", sheet = "pontuacao_f1")
head(lbff8_f1)
# A tibble: 6 × 9
  POS.  TIME     TAG   G       PTS     B     A `PTS/C`     Q
  <chr> <chr>    <chr> <chr> <dbl> <dbl> <dbl>   <dbl> <dbl>
1 1º    TSM FTX  TSM   A       812    15   384     428    72
2 2º    FLUXO    FX    B       805    15   334     471    72
3 3º    LOUD     LOUD  A       773     6   334     439    72
4 4º    VIVO KE… VK    C       754    12   347     407    72
5 5º    STARS H… SH    B       666     3   328     338    72
6 6º    LOS GRA… LOS   C       664     2   341     323    72

Como visto, a TSM FTX foi a equipe que mais pontuou na etapa classificatória.

Code
p1 <- lbff8_f1 |> 
  ggplot2::ggplot() +
  geom_col(aes(x = reorder(TAG, PTS), y = PTS)) +
  xlab("") + coord_flip() +
  ggtitle("LBFF 8 - Pontos corridos") +
  theme_light()
plotly::ggplotly(p1)

Configurando cores para este e demais plots, tornando o gráfico interativo e verificando o percentual de abates frente ao total de pontos.

Code
# data frame para as cores
cores <- data.frame(TAG = c("TSM", "FX", "LOUD", "VK", 
                            "SH", "LOS", "ANG",  "MGS", "GOD",
                            "META", "TL", "B4", "SCCP", "PAIN",
                            "HR", "BD", "CAOS", "NMG"),
                    cores = c("#333333", "#311D5F", "#6DE73C", "#5B3F81",
                              "#000000", "#E35F33", "#F7F7F7", "#37847C",
                              "#185B9E",
                              "#EFCF47", "#0A1723", "#E13530", "#F7F7F7", 
                              "#E3E3E3",
                              "#040528", "#000000", "#000000", "#2E1046"),
                    borda = c("#333333", "#311D5F", "#6DE73C", "#EED658",
                              "#000000", "#000000", "#3183AE", "#000000", 
                              "#EECC46",
                              "#000000", "#F7F7F7", "#000000", "#000000", 
                              "#E03646",
                              "#87F588", "#BE2B29", "#E25D33", "#E13538"))

# ajustes
df1 <- lbff8_f1 |> 
  dplyr::select(-c(POS., G, B, Q)) |> 
  dplyr::rename("Abates" = "A") |> 
  reshape2::melt(id.vars = c("TIME", "TAG", "PTS")) |> 
  dplyr::left_join(cores, by = "TAG") |> 
  dplyr::mutate(TAG = reorder(TAG, PTS)) |> 
  dplyr::rename("Tipo" = "variable",
                "Pontos" = "value")

p1 <- df1 |> 
  ggplot2::ggplot(aes(label = TIME, label2 = PTS, 
                      label3 = Tipo, label4 = Pontos)) +
  geom_col(aes(x = TAG, y = Pontos,
               color = borda,
               fill  = cores, alpha = Tipo),
           width = .7, size = 0.2, show.legend = F) +
  scale_alpha_manual(values = c(0.7, 0.9)) +
  scale_color_identity(guide = "none") +
  scale_fill_identity(guide = "none") +
  xlab("") + coord_flip() +
  theme_light()
p1 <- plotly::ggplotly(p1, 
                       tooltip = c("label", "label2", 
                                   "label3", "label4")) |> 
  layout(showlegend = FALSE)
p2 <- df1 |> 
  ggplot2::ggplot(aes(label = TIME, label2 = PTS, 
                      label3 = Tipo, label4 = Pontos)) +
  geom_col(aes(x = TAG, y = Pontos,
               color = borda,
               fill  = cores, alpha = Tipo),
           width = .7, size = 0.2, show.legend = F,
           position = "fill") +
  scale_alpha_manual(values = c(0.7, 0.9)) +
  scale_color_identity(guide = "none") +
  scale_fill_identity(guide = "none") +
  ylab("") + xlab("%") + coord_flip() +
  ggtitle("") +
  theme_light()
p2 <- plotly::ggplotly(p2,
                       tooltip = c("label", "label2",
                                        "label3", "label4")) |> 
  layout(showlegend = FALSE)

subplot(p1, p2, shareY = TRUE) |> 
   layout(title = 'LBFF 8 - Pontos corridos')

Agradecimento

aaaa.