Team Summary

ICC T20 World Cup 2022 Team of the Tournament

image name role team description
Jos Buttler(c) Opener England England have had many players down the ages who have gained world acclaim, but Jos Buttler is arguably their first global Twenty20 superstar. Buttler helped bring England's limited-overs batting into the 21st century, his impact on the one-day and T20 sides extraordinary as they turned a group-stage exit in the 2015 World Cup into a triumph on home soil four years later, with his efforts with the bat and the gloves crucial to their Super-Over victory in the final. In an 18-month period from mid-2014, he scored what at the time were England's three fastest one-day hundreds - thrilling innings against Sri Lanka at Lord's, New Zealand at Edgbaston and, topping the list, a 46-ball onslaught against Pakistan in Dubai. He has also shone at the IPL, and has quickly become a senior player in the Test side since his surprise recall in 2018.
Alex Hales Opener England Despite a central role in the resurgence of England's limited-overs team following the debacle of the 2015 World Cup, Alex Hales will probably be remembered more for what he missed than what he achieved. He sat out the 2019 World Cup after it emerged he had served a ban for a second drugs test failure for a recreational substance, which seemed to lead the England management and the team's senior players to decide that Hales' behaviour had caused a breakdown of trust between the parties. He was also overlooked for the 2021 T20 World Cup.
Virat Kohli Anchor India India has given to the world many a great cricketer but perhaps none as ambitious as Virat Kohli. To meet his ambition, Kohli employed the technical assiduousness of Sachin Tendulkar and fitness that was in the league of top athletes in the world, not just cricketers. As a result, Kohli became the most consistent all-format accumulator of his time, making jaw-dropping chases look easy, and finding, in his own words, the safest possible way to score runs. Plenty of them.
Suryakumar Yadav Anchor India Hard-hitting 360-degree batter Suryakumar Yadav has all the shots, including a few not in any textbook save the one written by AB de Villiers. he also has a yen for making batting look easy, as he showed during four golden years with Mumbai Indians starting in 2018, during which they won the IPL title twice, thanks in no small part to his 1700-plus runs at a strike rate of around 140.
Daryl Mitchell Anchor New Zealand Daryl Mitchell was called into New Zealand's Test team in late 2019 as a replacement for the injured Colin de Grandhomme. He impressed, too, making an assured 73 against England in his first innings and bowling with good control on a sluggish surface at his home ground, Hamilton. He had made his international debut against India in a T20I in February of that year.
Sam Curran All Rounder England Sam Curran, younger brother of Tom Curran, his fellow Surrey all-rounder, and son of the former Zimbabwe cricketer Kevin Curran, fulfilled his destiny at the age of 19 years and 363 days, when he made his Test debut against Pakistan at Headingley in June 2018. One Test later, he scooped his maiden Man-of-the-Match award, after four first-innings wickets and a thrilling counter-attacking half-century had given England the edge in a gripping Edgbaston Test against India. His success merely heightened the debate as to whether batting or bowling will ultimately become his strongest suit.
Rashid Khan All Rounder Afghanistan Rashid Khan has been Afghanistan's first global superstar, and the key to their successes in their early years in international cricket. His extraordinarily effective legspin has made him one of the greatest T20 bowlers ever, among the first names on wishlists of teams in leagues all around the world.
Mitchell Santner All Rounder New Zealand A left-handed batsman and left-arm spinner, Mitchell Santner was first elevated to the New Zealand side after a promising 2014-15 domestic season.
Wanindu Hasaranga de Silva Legspinner Sri Lanka A bruising lower-middle order batsman, and an aggressive legbreak bowler, Wanidu Hasaranga graduated from a strong Richmond College outfit, had a fine run in Sri Lanka's 2015 and 2016 Under-19 teams, and has made a promising start to his domestic cricket career.
Shaheen Shah Afridi Fast Bowler Pakistan A baby face perched on a two-metre body, Shaheen Afridi's story is trademark Pakistani. An 18-year old already comfortable in the green shirt of the national side, he's been on the radar of the national selectors for almost three years. In a more intimate circle, he was destined for great achievements well before his teenage years, with an international cricketer for an elder brother.
Anrich Nortje Fast Bowler South Africa Anrich Nortje is a genuine quick who has been described as "extremely exciting" by none other than Dale Steyn. Like Steyn, Nortje is not a product of a big city but comes from the town of Uitenhage, north of Port Elizabeth, which is home to the largest Volkswagen factory in the African continent. It's hardly surprising then, that Nortje is well-acquainted with speed. He regularly sends the speed gun over 150kph and has a fearsome bouncer.

Selection Criteria:

Openers (2):

  • Batting average > 30

  • Batting strike rate > 140

  • Innings batted > 3

  • Boundary % > 50

  • Batting position < 3

Anchors (3):

  • Batting average > 40

  • Batting strike rate > 125

  • Innings Batted > 3

  • Average balls faced > 20

  • Batting position > 2

All rounders (2):

  • Batting average > 15

  • Batting strike rate > 140

  • Innings batted > 2

  • Batting position > 4

  • Innings bowled > 2

  • Economy < 7

  • Bowling strike rate < 20

Fast bowlers (3)*:

  • Innings bowled > 4

  • Economy < 7

  • Bowling strike rate < 16

  • Bowling style = “fast”

  • Bowling average < 20

  • Dot ball % > 40

Legspinner (1):

  • Innings bowled > 4

  • Economy < 7

  • Bowling strike rate < 16

  • Bowling style = “legbreak”

  • Bowling average < 20

Note: Sam Curran was initially picked as a fast bowler, but since he is an all-rounder, he is classified as an all-rounder in the super team.

Openers

Column

List of potential openers (scroll)

image name team totalRuns battingAvg battingSR innsBatted boundaryPer battingPos avgBallsFaced
Jos Buttler(c) England 225 45.00 144 6 61.33 1 26
Alex Hales England 212 42.40 147 6 64.15 2 24
Kusal Mendis Sri Lanka 223 31.86 143 8 57.40 2 20
Quinton de Kock South Africa 124 31.00 161 5 75.81 2 15

Column

3d scatterplot comparing batting average, batting strike rate, and boundary percentage

Selection Criteria:

Sorted by batting average

  • Batting average > 30

  • Batting strike rate > 140

  • Innings batted > 3

  • Boundary % > 50

  • Batting position < 3

Anchors

Column

List of potential anchors (scroll)

image name team totalRuns battingAvg battingSR innsBatted boundaryPer battingPos avgBallsFaced
Virat Kohli India 296 98.67 136 6 50.00 3 36
Suryakumar Yadav India 239 59.75 190 6 66.11 4 21
Daryl Mitchell New Zealand 109 54.50 128 4 23.85 6 21
Glenn Phillips New Zealand 201 40.20 158 5 61.69 4 25

Column

3d scatterplot comparing batting average, batting strike rate, and boundary percentage

Selection Criteria:

Sorted by batting average

  • Batting average > 40

  • Batting strike rate > 125

  • Innings Batted > 3

  • Average balls faced > 20

  • Batting position > 2

All Rounders

Column

List of potential all rounders (scroll)

image name team totalRuns battingAvg battingSR innsBatted boundaryPer battingPos bowlingStyle totalWickets economy bowlingAvg bowlingSR innsBowled
Rashid Khan Afghanistan 57 28.50 178 3 70.18 8 legbreak googly 4 6.42 19.25 18 3
Mitchell Santner New Zealand 27 27.00 169 3 44.44 7 slow left arm orthodox 9 6.45 14.33 13 5
Shadab Khan Pakistan 98 24.50 169 6 59.18 6 legbreak 11 6.35 15.00 14 7
Glenn Maxwell Australia 118 39.33 162 4 67.80 5 right arm offbreak 3 6.00 6.33 6 2
Sikandar Raza Zimbabwe 219 27.38 148 8 59.36 5 right arm offbreak 10 6.50 15.60 14 8

Column

3d scatterplot comparing batting average, batting strike rate, and boundary percentage (open image in a new tab for a better view)

3d scatterplot comparing economy, bowling average, and bowling strike rate (open image in a new tab for a better view)

Selection Criteria:

Sorted by batting strike rate

  • Batting average > 15

  • Batting strike rate > 140

  • Innings batted > 2

  • Batting position > 4

  • Innings bowled > 2

  • Economy < 7

  • Bowling strike rate < 20

Fast Bowlers

Column

List of potential fast bowlers

image name team totalWickets economy bowlingAvg bowlingSR innsBowled runsConceded ballsBowled dotBallPer
Anrich Nortje South Africa 11 5.37 8.55 10 5 94 105 55
Sam Curran England 13 6.53 11.38 10 6 148 136 49
Shaheen Shah Afridi Pakistan 11 6.16 14.09 14 7 155 151 46
Tim Southee New Zealand 7 6.58 16.29 15 5 114 104 50

Column

3d scatterplot comparing economy, bowling average, and bowling strike rate

Selection Criteria:

Sorted by bowling average

  • Innings bowled > 4

  • Economy < 7

  • Bowling strike rate < 16

  • Bowling style = “fast”

  • Bowling average < 20

  • Dot ball % > 40

Legspinners

Column

List of potential legspinners

image name team totalWickets economy bowlingAvg bowlingSR innsBowled runsConceded ballsBowled dotBallPer
Wanindu Hasaranga de Silva Sri Lanka 15 6.42 13.27 12 8 199 186 40
Shadab Khan Pakistan 11 6.35 15.00 14 7 165 156 38

Column

Selection Criteria:

Sorted by bowling average

  • Innings bowled > 4

  • Economy < 7

  • Bowling strike rate < 16

  • Bowling style = “legbreak”

  • Bowling average < 20

---
title: "ICC T20 World Cup 2022 Team of the Tournament"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
    theme:
      version: 4
      bg: "#FDF7F7"
      fg: "#101010" 
      primary: "#320073"
      navbar-bg: "#ff00a5"
    source_code: embed
---

```{r setup, include=FALSE}
library(flexdashboard)
library(dplyr)
library(tidyverse)
library(htmltools)
library(kableExtra)
library(knitr)
library(scatterplot3d)
```

Team Summary
==============================

## ICC T20 World Cup 2022 Team of the Tournament

```{r}
#getwd()
# Read player data
player_data <- read.csv("t20_csv_files/final_player_data.csv")
playing11 <- read.csv("t20_csv_files/playing11.csv")

# Function to generate HTML code for displaying images
image_html <- function(url) {
  img_tag <- sprintf('<img src="%s" style="width:100px;height:100px;">', url)
  htmltools::HTML(img_tag)
}

# Create a new column with image HTML code
playing11$image <- lapply(playing11$image, image_html)

playing11 <- playing11[,c("image", "name", "role", "team", "description")]

# Display table with images
table_with_images <- knitr::kable(playing11, "html", escape = FALSE) %>%
  kableExtra::kable_styling(full_width = FALSE)

# Create HTML widget to render the table
table_widget <- htmltools::HTML(table_with_images)

# Output the table widget
table_widget
```

Selection Criteria:

Openers (2): 

* Batting average > 30

* Batting strike rate > 140

* Innings batted > 3

* Boundary % > 50

* Batting position < 3
 

Anchors (3):

* Batting average > 40

* Batting strike rate > 125

* Innings Batted > 3

* Average balls faced > 20

* Batting position > 2


All rounders (2):

* Batting average > 15

* Batting strike rate > 140

* Innings batted > 2

* Batting position > 4

* Innings bowled > 2

* Economy < 7

* Bowling strike rate < 20


Fast bowlers (3)*:

* Innings bowled > 4

* Economy < 7

* Bowling strike rate < 16

* Bowling style = "fast"

* Bowling average < 20

* Dot ball % > 40


Legspinner (1):

 * Innings bowled > 4

 * Economy < 7

 * Bowling strike rate < 16

 * Bowling style = "legbreak"

 * Bowling average < 20

  
Note: Sam Curran was initially picked as a fast bowler, but since he is an all-rounder, he is classified as an all-rounder in the super team.

Openers {data-orientation=columns}
==============================

Column
---------------------------------

### List of potential openers (scroll)

```{r}
openers <- player_data %>% 
  filter(battingAvg > 30, battingSR > 140, innsBatted > 3, boundaryPer > 50, battingPos < 3) %>% 
  arrange(desc(battingAvg)) %>% 
  select(image, name, team, totalRuns, battingAvg, battingSR, innsBatted, boundaryPer, battingPos, avgBallsFaced)

# Create a new column with image HTML code
openers$image <- lapply(openers$image, image_html)
table_with_images <- knitr::kable(openers, "html", escape = FALSE) %>%
  kableExtra::kable_styling(full_width = FALSE) %>% 
  kableExtra::row_spec(1:2, background = "lightgreen")
table_widget <- htmltools::HTML(table_with_images)
table_widget
```

Column
---------------------------------

### 3d scatterplot comparing batting average, batting strike rate, and boundary percentage
```{r}

s3d <- scatterplot3d(openers$battingAvg, openers$battingSR, openers$boundaryPer,
                 color="blue", pch=19,        # filled blue circles
                 main="Batting Avg vs Batting SR vs Boundary %",
                 xlab = "Batting Average", ylab = "Batting Strike Rate", zlab = "Boundary Percentage")
    s3d.coords <- s3d$xyz.convert(openers$battingAvg, openers$battingSR, openers$boundaryPer) # convert 3D coords to 2D projection
    text(s3d.coords$x, s3d.coords$y,             # x and y coordinates
         labels=openers$name,               # text to plot
         cex=1, pos=4)  
```

### Selection Criteria:

Sorted by batting average

* Batting average > 30

* Batting strike rate > 140

* Innings batted > 3

* Boundary % > 50

* Batting position < 3

Anchors{data-orientation=columns}
==============================

Column
---------------------------------

### List of potential anchors (scroll)

```{r}
anchors <- player_data %>% 
  filter(battingAvg > 40, battingSR > 125, innsBatted > 3, avgBallsFaced > 20, battingPos > 2) %>% 
  arrange(desc(battingAvg)) %>% 
  select(image, name, team, totalRuns, battingAvg, battingSR, innsBatted, boundaryPer, battingPos, avgBallsFaced)
# Create a new column with image HTML code
anchors$image <- lapply(anchors$image, image_html)
table_with_images <- knitr::kable(anchors, "html", escape = FALSE) %>%
  kableExtra::kable_styling(full_width = FALSE) %>% 
  kableExtra::row_spec(1:3, background = "lightgreen")
table_widget <- htmltools::HTML(table_with_images)
table_widget
```

Column
---------------------------------

### 3d scatterplot comparing batting average, batting strike rate, and boundary percentage
```{r}

s3d <- scatterplot3d(anchors$battingAvg, anchors$battingSR, anchors$boundaryPer,
                 color="blue", pch=19,        # filled blue circles
                 main="Batting Avg vs Batting SR vs Boundary %",
                 xlab = "Batting Average", ylab = "Batting Strike Rate", zlab = "Boundary Percentage")
    s3d.coords <- s3d$xyz.convert(anchors$battingAvg, anchors$battingSR, anchors$boundaryPer) # convert 3D coords to 2D projection
    text(s3d.coords$x, s3d.coords$y,             # x and y coordinates
         labels=anchors$name,               # text to plot
         cex=1, pos=4)  
```

### Selection Criteria:

Sorted by batting average

* Batting average > 40

* Batting strike rate > 125

* Innings Batted > 3

* Average balls faced > 20

* Batting position > 2

All Rounders {data-orientation=columns}
==============================

Column
---------------------------------

### List of potential all rounders (scroll)
```{r}
all_rounders <- player_data %>% 
  filter(battingAvg > 15, battingSR > 140, innsBatted > 2, battingPos > 4, economy < 7, bowlingSR < 20) %>% 
  arrange(desc(battingSR)) %>% 
  select(image, name, team, totalRuns, battingAvg, battingSR, innsBatted, boundaryPer, battingPos, bowlingStyle, totalWickets, economy, bowlingAvg, bowlingSR, innsBowled)
# Create a new column with image HTML code
all_rounders$image <- lapply(all_rounders$image, image_html)
table_with_images <- knitr::kable(all_rounders, "html", escape = FALSE) %>%
  kableExtra::kable_styling(full_width = FALSE) %>% 
  kableExtra::row_spec(1:2, background = "lightgreen")
table_widget <- htmltools::HTML(table_with_images)
table_widget
```

Column
---------------------------------

### 3d scatterplot comparing batting average, batting strike rate, and boundary percentage (open image in a new tab for a better view) 
```{r}

s3d <- scatterplot3d(all_rounders$battingAvg, all_rounders$battingSR, all_rounders$boundaryPer,
                 color="blue", pch=19,        # filled blue circles
                 main="Batting Avg vs Batting SR vs Boundary %",
                 xlab = "Batting Average", ylab = "Batting Strike Rate", zlab = "Boundary Percentage")
    s3d.coords <- s3d$xyz.convert(all_rounders$battingAvg, all_rounders$battingSR, all_rounders$boundaryPer) # convert 3D coords to 2D projection
    text(s3d.coords$x, s3d.coords$y,             # x and y coordinates
         labels=all_rounders$name,               # text to plot
         cex=1, pos=4)  
```

### 3d scatterplot comparing economy, bowling average, and bowling strike rate (open image in a new tab for a better view)
```{r}
options(repr.plot.width = 8, repr.plot.height = 6)
s3d <- scatterplot3d(all_rounders$economy, all_rounders$bowlingAvg, all_rounders$bowlingSR,
                 color="blue", pch=19,        # filled blue circles
                 main="Economy vs Bowling Average vs Bowling SR",
                 xlab = "Economy", ylab = "Bowling Average", zlab = "Bowling Strike Rate")
    s3d.coords <- s3d$xyz.convert(all_rounders$economy, all_rounders$bowlingAvg, all_rounders$bowlingSR) # convert 3D coords to 2D projection
    text(s3d.coords$x, s3d.coords$y,             # x and y coordinates
         labels=all_rounders$name,               # text to plot
         cex=1, pos=4)  
```

### Selection Criteria:

Sorted by batting strike rate

* Batting average > 15

* Batting strike rate > 140

* Innings batted > 2

* Batting position > 4

* Innings bowled > 2

* Economy < 7

* Bowling strike rate < 20

Fast Bowlers {data-orientation=columns}
==============================

Column
---------------------------------
### List of potential fast bowlers
```{r}
fast_bowlers <- player_data %>% 
  filter(innsBowled > 4, economy < 7, bowlingSR < 16, grepl("fast", bowlingStyle, fixed = T), bowlingAvg < 20, dotBallPer > 40) %>% 
  arrange(bowlingAvg) %>% 
  select(image, name, team, totalWickets, economy, bowlingAvg, bowlingSR, innsBowled, runsConceded, ballsBowled, dotBallPer)
# Create a new column with image HTML code
fast_bowlers$image <- lapply(fast_bowlers$image, image_html)
table_with_images <- knitr::kable(fast_bowlers, "html", escape = FALSE) %>%
  kableExtra::kable_styling(full_width = FALSE) %>% 
  kableExtra::row_spec(1:3, background = "lightgreen")
table_widget <- htmltools::HTML(table_with_images)
table_widget
```

Column
---------------------------------

### 3d scatterplot comparing economy, bowling average, and bowling strike rate
```{r}
options(repr.plot.width = 8, repr.plot.height = 6)
s3d <- scatterplot3d(fast_bowlers$economy, fast_bowlers$bowlingAvg, fast_bowlers$bowlingSR,
                 color="blue", pch=19,        # filled blue circles
                 main="Economy vs Bowling Average vs Bowling SR",
                 xlab = "Economy", ylab = "Bowling Average", zlab = "Bowling Strike Rate")
    s3d.coords <- s3d$xyz.convert(fast_bowlers$economy, fast_bowlers$bowlingAvg, fast_bowlers$bowlingSR) # convert 3D coords to 2D projection
    text(s3d.coords$x, s3d.coords$y,             # x and y coordinates
         labels=fast_bowlers$name,               # text to plot
         cex=1, pos=4)  
```

### Selection Criteria:

Sorted by bowling average

* Innings bowled > 4

* Economy < 7

* Bowling strike rate < 16

* Bowling style = "fast"

* Bowling average < 20

* Dot ball % > 40

Legspinners {data-orientation=columns}
==============================

Column
---------------------------------
### List of potential legspinners
```{r}
mystery_spinner <- player_data %>% 
  filter(innsBowled > 4, economy < 7, bowlingSR < 16, grepl("legbreak", bowlingStyle, fixed = T), bowlingAvg < 20) %>% 
  arrange(bowlingAvg) %>% 
  select(image, name, team, totalWickets, economy, bowlingAvg, bowlingSR, innsBowled, runsConceded, ballsBowled, dotBallPer)
# Create a new column with image HTML code
mystery_spinner$image <- lapply(mystery_spinner$image, image_html)
table_with_images <- knitr::kable(mystery_spinner, "html", escape = FALSE) %>%
  kableExtra::kable_styling(full_width = FALSE) %>% 
  kableExtra::row_spec(1:1, background = "lightgreen")
table_widget <- htmltools::HTML(table_with_images)
table_widget
```

Column
---------------------------------

```{r}
options(repr.plot.width = 8, repr.plot.height = 6)
s3d <- scatterplot3d(mystery_spinner$economy, mystery_spinner$bowlingAvg, mystery_spinner$bowlingSR,
                 color="blue", pch=19,        # filled blue circles
                 main="Economy vs Bowling Average vs Bowling SR",
                 xlab = "Economy", ylab = "Bowling Average", zlab = "Bowling Strike Rate")
    s3d.coords <- s3d$xyz.convert(mystery_spinner$economy, mystery_spinner$bowlingAvg, mystery_spinner$bowlingSR) # convert 3D coords to 2D projection
    text(s3d.coords$x, s3d.coords$y,             # x and y coordinates
         labels=mystery_spinner$name,               # text to plot
         cex=1, pos=4)  
```


### Selection Criteria:

Sorted by bowling average

 * Innings bowled > 4

 * Economy < 7

 * Bowling strike rate < 16

 * Bowling style = "legbreak"

 * Bowling average < 20