<commit_before>---
title: "Highscoreliste Highlander Games Bremen"
author: "<NAME>"
date: "`r ddateR::poee()`"
output:
  rmdformats::html_clean:
    css: style.css
    fig_width: 10
    dpi: 360
    highlight: tango
    theme: spacelab
    self_contained: no
    lib_dir: "assets"
---

```{r, message=F, warning=FALSE, include=FALSE}
source(paste0(Sys.getenv("PROJECT_HOME"), "./init.R"))
knitr::opts_chunk$set(echo = F, fig.path = "highscore-plots/", warning = F, message = F)
```

# Arena Highscore-Liste

Während ein Ligaspiel aus zwei Runden besteht (jede/r SpielerIn je einmal Kon **und** Runner) wird hier eine Runde bereits als ganzes Spiel gezählt (entweder Kon **oder** Runner).

```{r, Die_Liste}
  score %>% 
    group_by(Spieler) %>% 
    summarize("Spiele" = n(),
              "Siege"  = sum(Punkte)/2,
              "Ratio"  = percent((sum(Punkte)/2)/Spiele, 1)) %>%
    arrange(desc(Ratio), desc(Siege), Spiele) %>% 
    format_table(list(
      Spiele = color_tile("white", "lightgreen"),
      check.rows = F, format = "pandoc"))
```

## Spielübersicht

"Übersicht". x)

```{r Spieluebersicht}
as.data.frame.matrix(crossprod(table(score$Spiel, score$Spieler))) %>% 
  gather(Spieler, Spiele, Bjarne, Bodo, Boray, Falk, Jan,
         Johannes, Josh, `<NAME>.`, Kai, Ole, Paul, Tobias) %>% 
  mutate(Gegner = rep(c("Bjarne", "Bodo", "Boray", "Falk", "Jan",
                        "Johannes", "Josh", "<NAME>.", 
                        "Kai", "Ole", "Paul", "Tobias"), 12)) %>% 
  filter(Spieler != Gegner, Spiele != 0) %>% 
  ggplot(., aes(x = Spieler, y = Gegner, fill = Spiele)) + 
    geom_tile(color = "white", size = 0.5) +
    geom_text(aes(label = Spiele), color = "white") +
    labs(x = NULL, y = NULL) +
    scale_fill_viridis(option = "B") +
    cosmetics + theme(legend.position = "top")
```

## Siege pro Woche pro Spieler (pro ID)

Durch klicken auf die Namen in der Legende und in der oberen Leiste bekommt man das etwas übersichtlicher; an brauchbaren Defaults arbeite ich noch...

```{r WochenspielerIDsiege, eval = F}
  score %>%
    group_by(Kalenderwoche, Spieler) %>% 
    summarize("Wins" = sum(Punkte)/2,
              "IDs"  = paste(unique(ID), collapse = ",")) %>%
    plot_ly(., x = Kalenderwoche, y = Wins, line = list(shape = "spline"),
            color = Spieler, text = str_replace_all(IDs, ",", "<br />"))
```

## Siege nach Seite

### Allgemein

```{r, Seitenliste}
  score %>% 
    group_by(Seite) %>% 
    summarize("Spiele" = n(),
              "Siege" = sum(Punkte)/2,
              "Ratio" = percent((sum(Punkte)/2)/Spiele, 1)) %>%
    arrange(Spiele) %>% 
    arrange(desc(Siege)) %>%
    arrange(desc(Ratio)) %>% 
    knitr::kable()
```

### Pro Spieler

```{r SeiteproSpieler}
wins <- score %>% 
  group_by(Seite, Spieler) %>% 
  summarize(Spiele  = n(),
            Siege   = sum(Punkte)/2,
            Prozent = round(Siege / Spiele * 100, 1)) %>% 
  mutate(Prozent = ifelse(Seite == "Konzern", Prozent * -1, Prozent * 1))



ggplot(wins, aes(x = Spieler, color = Seite)) +
  geom_linerange(data = wins[wins$Seite == "Runner", ],
                 aes(ymin = 10, ymax = 10 + Prozent), size = 12, alpha = 0.8) +
  
  geom_linerange(data = wins[wins$Seite == "Konzern", ],
                 aes(ymin = -10, ymax = -10 + Prozent), size = 12, alpha = 0.8) +
  
  geom_label(aes(x = Spieler, y = 0, label = Spieler, family = "sans"), 
             inherit.aes = F, size = 5, label.padding = unit(0.0, "lines"), 
             label.size = 0, label.r = unit(0.0, "lines"), color = "black") +
  
  scale_y_continuous(breaks = c(c(-100, -80, -60, -40, -20, 0) + -10, 
                                c(0, 20, 40, 60, 80, 100) + 10),
                     labels = c("100%", "80%", "60%", "40%", "20%", "0%",
                                "0%", "20%", "40%", "60%", "80%", "100%")) +
  
  labs(x = NULL, y = NULL, title = "Siege pro Spieler pro Seite") +
  
  scale_color_manual(name = "", values = c(Konzern = "#3288bd", Runner = "#d53e4f"),
                     labels = c("Konzern", "Runner")) +
  
  theme_hc() + coord_flip() + 
  theme(axis.text.y   = element_blank(), panel.grid.major.x = element_line(color = "gray"),
        axis.ticks.y  = element_blank(), panel.grid.major.y = element_blank(),
        legend.position = "top", title = element_text(size = 14), axis.text = element_text(size = 12),
        legend.title = element_text(size = 12),
        legend.text  = element_text(size = 10),
        strip.text   = element_text(size = 14))
```


## Siege nach Fraktion

### Konzerne

```{r, Fraktionsliste_Konzerne}
  score %>% 
    filter(Seite == "Konzern") %>% 
    group_by(Fraktion) %>% 
    summarize("Spiele" = n(),
              "Siege" = sum(Punkte)/2,
              "Ratio" = percent((sum(Punkte)/2)/Spiele, 1)) %>%
    arrange(Spiele) %>% 
    arrange(desc(Siege)) %>%
    arrange(desc(Ratio)) %>% 
    knitr::kable()
```

### Runner

```{r, Fraktionsliste_Runner}
  score %>% 
    filter(Seite == "Runner") %>% 
    group_by(Fraktion) %>% 
    summarize("Spiele" = n(),
              "Siege" = sum(Punkte)/2,
              "Ratio" = percent((sum(Punkte)/2)/Spiele, 1)) %>%
    arrange(Spiele) %>% 
    arrange(desc(Siege)) %>%
    arrange(desc(Ratio)) %>% 
    knitr::kable()
```


## Spielhäufigkeiten

### nach Fraktion

```{r, IDs, echo = F}
  ggplot(score, aes(x = Fraktion, fill = Fraktion)) +
    geom_bar(color = "black") +
    labs(x = "", y = "Spiele") +
    facet_grid(. ~ Seite, scales = "free_x") +
    faction_fill +
    cosmetics +
    theme(legend.position = "none")
```
  
### nach ID

```{r, IDs_Konzern, echo = F}
  score %>% 
    filter(Seite == "Konzern") %>% 
    ggplot(aes(x = ID, fill = Fraktion)) +
      geom_bar(color = "black") +
      labs(x = "", y = "Spiele", legend = "") +
      facet_grid(. ~ Fraktion, scales = "free") +
      kon_fill +
      cosmetics +
      theme(axis.text.x = element_text(angle = 25, hjust = 1, vjust = 1),
            legend.position = "none")
```<commit_msg>add alpha somewhere, hide deprecated section from evaluation<commit_after>---
title: "Highscoreliste Highlander Games Bremen"
author: "<NAME>"
date: "`r ddateR::poee()`"
output:
  rmdformats::html_clean:
    css: style.css
    fig_width: 10
    dpi: 360
    highlight: tango
    theme: spacelab
    self_contained: no
    lib_dir: "assets"
---

```{r, message=F, warning=FALSE, include=FALSE}
source(paste0(Sys.getenv("PROJECT_HOME"), "./init.R"))
knitr::opts_chunk$set(echo = F, fig.path = "highscore-plots/", warning = F, message = F)
```

# Arena Highscore-Liste

Während ein Ligaspiel aus zwei Runden besteht (jede/r SpielerIn je einmal Kon **und** Runner) wird hier eine Runde bereits als ganzes Spiel gezählt (entweder Kon **oder** Runner).

```{r, Die_Liste}
  score %>% 
    group_by(Spieler) %>% 
    summarize("Spiele" = n(),
              "Siege"  = sum(Punkte)/2,
              "Ratio"  = percent((sum(Punkte)/2)/Spiele, 1)) %>%
    arrange(desc(Ratio), desc(Siege), Spiele) %>% 
    format_table(list(
      Spiele = color_tile("white", "lightgreen"),
      check.rows = F, format = "pandoc"))
```

## Spielübersicht

"Übersicht". x)

```{r Spieluebersicht}
as.data.frame.matrix(crossprod(table(score$Spiel, score$Spieler))) %>% 
  gather(Spieler, Spiele, Bjarne, Bodo, Boray, Falk, Jan,
         Johannes, Josh, `<NAME>.`, Kai, Ole, Paul, Tobias) %>% 
  mutate(Gegner = rep(c("Bjarne", "Bodo", "Boray", "Falk", "Jan",
                        "Johannes", "Josh", "<NAME>.", 
                        "Kai", "Ole", "Paul", "Tobias"), 12)) %>% 
  filter(Spieler != Gegner, Spiele != 0) %>% 
  ggplot(., aes(x = Spieler, y = Gegner, fill = Spiele)) + 
    geom_tile(color = "white", size = 0.5) +
    geom_text(aes(label = Spiele), color = "white") +
    labs(x = NULL, y = NULL) +
    scale_fill_viridis(option = "B") +
    cosmetics + theme(legend.position = "top")
```


## Hier waren mal fancy bar charts

```{r WochenspielerIDsiege, eval = F}
## Siege pro Woche pro Spieler (pro ID)

Durch klicken auf die Namen in der Legende und in der oberen Leiste bekommt man das etwas übersichtlicher; an brauchbaren Defaults arbeite ich noch...


  score %>%
    group_by(Kalenderwoche, Spieler) %>% 
    summarize("Wins" = sum(Punkte)/2,
              "IDs"  = paste(unique(ID), collapse = ",")) %>%
    plot_ly(., x = Kalenderwoche, y = Wins, line = list(shape = "spline"),
            color = Spieler, text = str_replace_all(IDs, ",", "<br />"))
```

## Siege nach Seite

### Allgemein

```{r, Seitenliste}
  score %>% 
    group_by(Seite) %>% 
    summarize("Spiele" = n(),
              "Siege" = sum(Punkte)/2,
              "Ratio" = percent((sum(Punkte)/2)/Spiele, 1)) %>%
    arrange(Spiele) %>% 
    arrange(desc(Siege)) %>%
    arrange(desc(Ratio)) %>% 
    knitr::kable()
```

### Pro Spieler

```{r SeiteproSpieler}
wins <- score %>% 
  group_by(Seite, Spieler) %>% 
  summarize(Spiele  = n(),
            Siege   = sum(Punkte)/2,
            Prozent = round(Siege / Spiele * 100, 1)) %>% 
  mutate(Prozent = ifelse(Seite == "Konzern", Prozent * -1, Prozent * 1))



ggplot(wins, aes(x = Spieler, color = Seite)) +
  geom_linerange(data = wins[wins$Seite == "Runner", ],
                 aes(ymin = 10, ymax = 10 + Prozent), size = 12, alpha = 0.8) +
  
  geom_linerange(data = wins[wins$Seite == "Konzern", ],
                 aes(ymin = -10, ymax = -10 + Prozent), size = 12, alpha = 0.8) +
  
  geom_label(aes(x = Spieler, y = 0, label = Spieler, family = "sans"), 
             inherit.aes = F, size = 5, label.padding = unit(0.0, "lines"), 
             label.size = 0, label.r = unit(0.0, "lines"), color = "black") +
  
  scale_y_continuous(breaks = c(c(-100, -80, -60, -40, -20, 0) + -10, 
                                c(0, 20, 40, 60, 80, 100) + 10),
                     labels = c("100%", "80%", "60%", "40%", "20%", "0%",
                                "0%", "20%", "40%", "60%", "80%", "100%")) +
  
  labs(x = NULL, y = NULL, title = "Siege pro Spieler pro Seite") +
  
  scale_color_manual(name = "", values = c(Konzern = "#3288bd", Runner = "#d53e4f"),
                     labels = c("Konzern", "Runner")) +
  
  theme_hc() + coord_flip() + 
  theme(axis.text.y   = element_blank(), panel.grid.major.x = element_line(color = "gray"),
        axis.ticks.y  = element_blank(), panel.grid.major.y = element_blank(),
        legend.position = "top", title = element_text(size = 14), axis.text = element_text(size = 12),
        legend.title = element_text(size = 12),
        legend.text  = element_text(size = 10),
        strip.text   = element_text(size = 14))
```


## Siege nach Fraktion

### Konzerne

```{r, Fraktionsliste_Konzerne}
  score %>% 
    filter(Seite == "Konzern") %>% 
    group_by(Fraktion) %>% 
    summarize("Spiele" = n(),
              "Siege" = sum(Punkte)/2,
              "Ratio" = percent((sum(Punkte)/2)/Spiele, 1)) %>%
    arrange(Spiele) %>% 
    arrange(desc(Siege)) %>%
    arrange(desc(Ratio)) %>% 
    knitr::kable()
```

### Runner

```{r, Fraktionsliste_Runner}
  score %>% 
    filter(Seite == "Runner") %>% 
    group_by(Fraktion) %>% 
    summarize("Spiele" = n(),
              "Siege" = sum(Punkte)/2,
              "Ratio" = percent((sum(Punkte)/2)/Spiele, 1)) %>%
    arrange(Spiele) %>% 
    arrange(desc(Siege)) %>%
    arrange(desc(Ratio)) %>% 
    knitr::kable()
```


## Spielhäufigkeiten

### nach Fraktion

```{r, IDs, echo = F}
  ggplot(score, aes(x = Fraktion, fill = Fraktion)) +
    geom_bar(color = "black", alpha = 0.8) +
    labs(x = "", y = "Spiele") +
    facet_grid(. ~ Seite, scales = "free_x") +
    faction_fill +
    cosmetics +
    theme(legend.position = "none")
```
  
### nach ID

```{r, IDs_Konzern, echo = F}
  score %>% 
    filter(Seite == "Konzern") %>% 
    ggplot(aes(x = ID, fill = Fraktion)) +
      geom_bar(color = "black") +
      labs(x = "", y = "Spiele", legend = "") +
      facet_grid(. ~ Fraktion, scales = "free") +
      kon_fill +
      cosmetics +
      theme(axis.text.x = element_text(angle = 25, hjust = 1, vjust = 1),
            legend.position = "none")
```
{'fraction_non_alphanumeric': 0.19072847682119207, 'fraction_numerical': 0.02119205298013245, 'mean_word_length': 2.7379331683168315, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 83, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5952251', 'n_tokens_mistral': 4898, 'n_tokens_neox': 4503, 'n_words': 971}